setenv LD_LIBRARY_PATH ${2}:$LD_LIBRARY_PATH和setenv LD_LIBRARY_PATH ${2}:/usr/lib和setenv LD_LIBRARY_PATH ${3}:$LD_LIBRARY_PATH有什么区别?
你好,你给出的应该是一个 csh 脚本的部分内容。
说简单点,你的代码就是 给环境变量 LD_LIBRARY_PATH 追加新值,且新值来自命令行参数。这样就可以在脚本执行过程中把动态链接库的目录修改成不同值。
假设我要启动一个脚本abc.sh, 并给它3个x,y,z参数。那么,我们在命令行中使用如下命令:
./abc.sh x y z在abc.sh脚本的代码中
${1}代表从命令行传入的第一个参数,x
${2} 代表 第二个参数,y
${3} 代表 第三个参数,z
所以,以你的脚本代码举例:
setenv LD_LIBRARY_PATH ${2}:$LD_LIBRARY_PATH这个命令的语法是:
setenv 变量名 变量值
功能:为环境变量赋值
所以,你的命令翻译出来,就是
将名为 LD_LIBRARY_PATH 的环境变量,赋值为:
${2}:$LD_LIBRARY_PATH
其中
${2} 就是命令行传递的第二个参数
$LD_LIBRARY_PATH是变量LD_LIBRARY_PATH被赋值之前的值。
在shell中,常用冒号作为目录名的分隔符。
比如,我的系统中 PATH 环境变量为:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
温馨提示:答案为网友推荐,仅供参考