找不到linux问题setenv命令

时间:2015-01-02 04:03:20

标签: linux setenv

我在Linux中开发了一个Tcl / Tk脚本工具。为了运行该工具,每次我需要在shell中设置这样的环境变量:

setenv LD_LIBRARY_PATH /opt/lsf/9.1/linux2.6-glibc2.3-x86_64/lib:/abc/software/new_2015/GE/tcl_tk/lib64:/abc/software/new_2015/GE/tcl_tk/lib64

然后使用" wish"解释器启动我的工具:

/abc/software/new2015/GE/tcl_tk/bin/wish mytool.tk

为了使它易于使用,我想设计一个shell脚本" abc_wish"并将上面的命令放在:

#!/bin/sh
setenv LD_LIBRARY_PATH /opt/lsf/9.1/linux2.6-glibc2.3-x86_64/lib:/abc/software/new_2015/GE/tcl_tk/lib64:/abc/software/new_2015/GE/tcl_tk/lib64
wish="/abc/software/new2015/GE/tcl_tk/bin/wish"
exec $wish $@

然后我需要运行:

./abc_wish mytool.tk

但是错误消息显示找不到setenv命令!我对这样的系统问题全新,需要一些关于这些东西的帮助。希望我已经清楚地表明了这个问题。

1 个答案:

答案 0 :(得分:6)

setenvcsh命令,而不是sh命令。 bash中的等效内容为export

#!/bin/sh
export LD_LIBRARY_PATH=/opt/lsf/9.1/linux2.6-glibc2.3-x86_64/lib:/abc/software/new_2015/GE/tcl_tk/lib64:/abc/software/new_2015/GE/tcl_tk/lib64
exec wish "$@"

您还应该引用$@,以确保正确重新引用扩展。