2017-05-01 36 views
0

私は私のシェルスクリプトの1つの行を以下の作品について、「不正の変数名」エラーが出る -不正な変数名tcshシェルでlinux

"$WORKING_DIR"/sendEmail.py "$TEST_STRING, Tests passed" "$(cat "$WORKING_DIR"/logs/"$THE_PACKAGE"/testResults.out)" >& "$WORKING_DIR"/logs/mailOut.txt 

私は、エラーが次の行から来ていると信じて:

"$(cat "$WORKING_DIR"/logs/"$THE_PACKAGE"/testResults.out)" 

私はインターネットで広く見てきましたが、まだ問題を解決できませんでした。

答えて

0

$ WORKING_DIR" /logs/mailOut.txt

それとも
ZZZは=、それはSUのBourneシェルでのみ動作しますchは/ bin/sh、ksh、zsh、bashなどです。cshでは、バックスティック(`)に限られています。

"$var"/logsの代わりに"$var/logs"という変数だけでなく、パス名全体を引用することもおそらく最適です。ない一緒にそれを置く;-)

への本当の理由、読みやすくするためにいくつかの追加改行で、我々が得る:あなたはこのPythonスクリプトを書いた場合

"$WORKING_DIR/sendEmail.py" "$TEST_STRING, Tests passed" \ 
    "`cat "$WORKING_DIR/logs/$THE_PACKAGE/testResults.out"`"\ 
    >& "$WORKING_DIR/logs/mailOut.txt" 

言われていることは、それはので、それを修正するためにおそらく最高ません - ZZZ = $(猫 "$のWORKING_DIR /ログ/ $ THE_PACKAGE/testResults.out") 私はtcshシェルを使用しています

cat "$WORKING_DIR/logs/$THE_PACKAGE/testResults.out" | \ 
    "$WORKING_DIR/sendEmail.py" "$TEST_STRING, Tests passed" \ 
    >& "$WORKING_DIR/logs/mailOut.txt" 
-1

はこれを試してみてください:

ZZZ = $(猫 "$のWORKING_DIR /ログ/ $ THE_PACKAGE/testResults.out")

"$ WORKING_DIR" /sendEmail.py " "$のTEST_STRING、テストは合格" $ ZZZ」> & "$()構文はcshのでは有効ではありません`cat "$WORKING_DIR/logs/$THE_PACKAGE/testResults.out"`

+0

今、私は、この行でエラーが表示されます。それは標準入力から読み取ります。だから私はsetenv ZZZ $(cat "$ WORKING_DIR/logs/$ THE_PACKAGE/testResults.out")を試しました。 – Ashesh

+0

'$()'は有効なcsh構文ではありません。 – Carpetsmoker

関連する問題