如何使用setenv在bash中设置环境变量?
我有一个包含应用程序运行所需的所有环境变量的文件,格式如下如何使用setenv在bash中设置环境变量?,bash,tcsh,setenv,Bash,Tcsh,Setenv,我有一个包含应用程序运行所需的所有环境变量的文件,格式如下 setenv DISPLAY invest7@example.com setenv HOST example.com setenv HOSTNAME sk ... 我将如何设置环境。bash中的变量是否使用上述文件?有没有办法在bash中使用setenv命令?您可以定义一个名为setenv的函数: function setenv() { export "$1=$2"; } 要设置环境变量,请选择文件源: . your_file 这
setenv DISPLAY invest7@example.com
setenv HOST example.com
setenv HOSTNAME sk
...
我将如何设置环境。bash中的变量是否使用上述文件?有没有办法在bash中使用
setenv
命令?您可以定义一个名为setenv
的函数:
function setenv() { export "$1=$2"; }
要设置环境变量,请选择文件源:
. your_file
这是一个改进的版本
# Mimic csh/tsch setenv
function setenv()
{
if [ $# = 2 ]; then
export $1=$2;
else
echo "Usage: setenv [NAME] [VALUE]";
fi
}
下面是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
}
这似乎是一个愚蠢的问题,但你得到了一个非常好的答案,做得很好。
eval
是不必要的,避免它可以减少一些安全风险:setenv(){export“$1=$2”;}
。