2017-11-29 19 views
0
export testval='hdhhdhdh' 
echo $testval 
if [ ! -d ${testval} ]; then 
echo -e "${RED}Please specify jettyScheduler as an environmental 
variable${RESET}" 
exit 
fi 

上記の評価は、スクリプト内で明白に設定されています。 私はWindows 10で新しいラップトップを手に入れました。上記はWindows 7でcygwinを使ってうまくいきました。同じことがwindows10でcygwin & git bashを使用して失敗しています。助けてもらえますか?シェルスクリプトの評価で、Windows 10でcygwinとgit bashを使用してエラーが発生しました。

+0

あなたの期待するもの、入手したもの、スクリプトをどこから実行しているのか、さらに詳細な情報を提供する必要があります。 – varro

+0

こんにちは、このスクリプトは、Windows 10 OSのcygwinから実行されます。実際には、私が [-z $ {testval}]構文を使用したときに動作し始めました。 -d $ {testval}]は正しく機能しませんか? 。文脈でのスクリプトの期待は、それがそうでない環境でtestvalが設定されていない場合にのみステートメントを出力すべきであるため、echoステートメントを出力すべきでないということです。追加が必要な場合は教えてください – redeemed

答えて

0

あなたはtest -dのことを誤解しました。ディレクトリが存在するかどうかを確認するので、表示される内容は予想されます( 'hdhhdhdh'はディレクトリの名前ではないと仮定します)。環境が設定されているかどうかだけを確認したい場合は、これまでのようにtest -z(または逆にtest -n)を実行する方法があります。

P.S.空白が含まれている可能性がある場合は、変数( "$ testval")を引用する習慣も必要です。

関連する問題