bashsetenvコマンドが見つかりません

次のコマンドを使用している場合

 setenv CLASSPATH /path/mysql-connector-java-ver-bin.jar:$CLASSPATH 

エラーは

 bash setenv command is not found 

どのコマンドでsetenvのパスを見つけた場合、次のパスが見つかりました

 (/usr/kerberos/sbin:/usr/kerberos/bin:/home/ec2/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/ec2/bin:/root/bin) 

回答

setenv(t)csh、CentOSのデフォルトシェルであるbashではありません。代わりに

export CLASSPATH="/path/mysql-connector-java-ver-bin.jar:$CLASSPATH" 

を使用してください。

回答

偶数よりクリーンなため、呼び出すコマンドにプレフィックス表記(setなし)を使用します。

CLASSPATH=/path/mysql-connector-java-ver-bin.jar:$CLASSPATH ANOTHER_VAR=bla ATHIRD_VAR=blu java -... 

これで、呼び出すjavaプロセスで、一時的な環境変数CLASSPATH, ANOTHER_VARATHIRD_VAR

exportを使用した場合、変数は、少なくともスクリプトの環境では、グローバルに設定されます(?)。また、変数の値はすでに存在していたものは新しい値で上書きされます。

プレフィックス表記の利点:

  • 変数の以前の値は変更しないでください。つまり、古い値が変更されている場合です。後で必要になった場合は、呼び出し後に変数を復元するために、既存の変数の古い値を保存する必要はありません。
  • unset呼び出し後のクリーンアップ目的の一時変数

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です