linux 未找到 setenv 命令问题

linux issue setenv command not found

我在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 命令!我对此类系统问题完全陌生,需要一些关于这些东西的帮助。希望我已经清楚地表明了这个问题。

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 "$@"

您还应该将 $@ 放在引号中,以确保正确地重新引用扩展。