我有一个文件,其中包含应用程序以下列格式运行所需的所有环境变量...
setenv DISPLAY invest7@example.com
setenv HOST example.com
setenv HOSTNAME sk
...
我如何设置环境。 bash中的变量使用上面的文件?有没有办法以某种方式在bash中使用setenv
命令?
答案 0 :(得分:6)
您可以定义名为setenv
的函数:
function setenv() { export "$1=$2"; }
要设置envariables,请获取文件:
. your_file
答案 1 :(得分:1)
这是一个改进版本。
# Mimic csh/tsch setenv
function setenv()
{
if [ $# = 2 ]; then
export $1=$2;
else
echo "Usage: setenv [NAME] [VALUE]";
fi
}
答案 2 :(得分: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
}