如何使用 setenv 在 bash 中设置环境变量?

发布于 2024-10-25 03:29:40 字数 335 浏览 0 评论 0原文

我有一个文件,其中包含应用程序以以下格式运行所需的所有环境变量...

setenv DISPLAY [email protected]
setenv HOST example.com
setenv HOSTNAME sk
...

我将如何设置 env. bash 中的变量使用上面的文件?有没有办法在 bash 中使用 setenv 命令?

I've a file containing all the environmental variables needed for an application to run in the following format...

setenv DISPLAY [email protected]
setenv HOST example.com
setenv HOSTNAME sk
...

How would I set the env. variables in bash using the above file? Is there a way to somehow use setenv command in bash?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

酒几许 2024-11-01 03:29:40

您可以定义一个名为 setenv 的函数:

function setenv() { export "$1=$2"; }

要设置 envariables,请获取该文件:

. your_file

You can define a function named setenv:

function setenv() { export "$1=$2"; }

To set the envariables, source the file:

. your_file
溺ぐ爱和你が 2024-11-01 03:29:40

这是一个改进版本。

# Mimic csh/tsch setenv
function setenv()
{
    if [ $# = 2 ]; then
        export $1=$2;
    else
        echo "Usage: setenv [NAME] [VALUE]";
    fi
}

This is an improved version.

# Mimic csh/tsch setenv
function setenv()
{
    if [ $# = 2 ]; then
        export $1=$2;
    else
        echo "Usage: setenv [NAME] [VALUE]";
    fi
}
绻影浮沉 2024-11-01 03:29:40

这是 ksh/bash 的更完整版本。无论参数数量如何,它的行为都类似于 csh/tcsh setenv。

setenv () {
    if (( $# == 0 )); then
        env
        return 0
    fi

    if [[ $1 == *[!A-Za-z0-9_]* ]]; then
        printf 'setenv: not a valid identifier -- %s\n' "$1" >&2
        return 1
    fi

    case $# in
        1)
            export "$1"
            ;;
        2)
            export "$1=$2"
            ;;
        *)
            printf 'Usage: setenv [VARIABLE [VALUE]]\n' >&2
            return 1
    esac
}

Here is a more complete version for ksh/bash. It behaves like csh/tcsh setenv regardless of the number of arguments.

setenv () {
    if (( $# == 0 )); then
        env
        return 0
    fi

    if [[ $1 == *[!A-Za-z0-9_]* ]]; then
        printf 'setenv: not a valid identifier -- %s\n' "$1" >&2
        return 1
    fi

    case $# in
        1)
            export "$1"
            ;;
        2)
            export "$1=$2"
            ;;
        *)
            printf 'Usage: setenv [VARIABLE [VALUE]]\n' >&2
            return 1
    esac
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文