新しく購入したCentOにプログラムをインストールしようとしています。インストールに必要ですsetenv
。 tcshシェルでも明らかに動作しません。
誰でも私にアドバイスを与えることができますか?
[Anna@anna xd-demo] ./setup.csh
Configuring shell for the XD2006 :
./setup.csh: line 7: setenv: command not found
./setup.csh: line 8: setenv: command not found
./setup.csh: line 9: setenv: command not found
./setup.csh: line 10: setenv: command not found
./setup.csh: line 11: syntax error near unexpected token `('
./setup.csh: line 11: `set path=( $XD_ROOT/bin $XD_ROOT/lib/xd $XD_ROOT/lib/xdgraph $path )'
[Anna@anna xd-demo]$ echo $shell
/bin/tcsh
ベストアンサー1
スクリプトは実際にはtcshによって実行されません。 tcshでコマンドを実行しましたが、./setup.csh
独自のプロセスで実行された別のコマンドでした。あなたが示したものからスクリプトがtcshで実行されると思う理由はありません。setenv
一部の他のインタプリタがスクリプトを実行しているため、コマンドが見つかりません。追加の証拠として、エラーメッセージの形式はbash、dash、kshの形式と一致しますが、tcshの形式と一致しません。
これはスクリプトのバグです。それは次に終わらなければならないシェルボーンスクリプトが設計されたインタプリタ(シェル)を表す行。 tcshスクリプトは次の行で始まる必要があります。
#!/usr/bin/env tcsh
この行を追加します(最初の行でなければなりません。ファイルにはWindows行の末尾がないため、WindowsエディタまたはLinuxエディタを使用している場合は注意してください)。あるいは、ファイルを編集したくない場合は、tcshを明示的に呼び出すこともできます。
tcsh ./setup.csh
どのシェルでもこれを行うことができ、望ましくない場合はtcshを対話的に使用する必要はありません。