2

Linux で Tcl/Tk スクリプト ツールを開発しています。ツールを実行するには、毎回シェルで次のように環境変数を設定する必要があります。

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

少し使いやすくするために、シェルスクリプト「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 コマンドが見つからないことを示しています!私はそのようなシステムの問題に全く慣れていないので、これらの問題について助けが必要です。問題を明確に示したことを願っています。

4

1 に答える 1

6

setenvコマンドであって、cshコマンドではありません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 "$@"

$@また、展開の適切な再引用を確実にするために、引用符を付ける必要があります。

于 2015-01-02T04:08:23.113 に答える