4

アプリケーションを次の形式で実行するために必要なすべての環境変数を含むファイルがあります...

setenv DISPLAY invest7@example.com
setenv HOST example.com
setenv HOSTNAME sk
...

どのようにenvを設定しますか。上記のファイルを使用してbashの変数?setenvどういうわけかbashでコマンドを使用する方法はありますか?

4

3 に答える 3

6

次の名前の関数を定義できますsetenv

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

環境変数を設定するには、ファイルをソースします。

. your_file
于 2011-03-21T19:39:51.850 に答える
1

これは改良版です。

# Mimic csh/tsch setenv
function setenv()
{
    if [ $# = 2 ]; then
        export $1=$2;
    else
        echo "Usage: setenv [NAME] [VALUE]";
    fi
}
于 2011-05-09T09:25:11.197 に答える
0

これは、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
}
于 2013-05-27T09:08:34.813 に答える