そのため、私は kornshell を初めて使用し、if ステートメントを機能させることができません。これは私のファイルにあるものです
if $1 = "Y"
then
echo "I am here";
fi
ファイルを実行すると、次のエラーが表示されます。
test.ksh[1]: Y: not found [No such file or directory]
私は何を間違っていますか?
そのため、私は kornshell を初めて使用し、if ステートメントを機能させることができません。これは私のファイルにあるものです
if $1 = "Y"
then
echo "I am here";
fi
ファイルを実行すると、次のエラーが表示されます。
test.ksh[1]: Y: not found [No such file or directory]
私は何を間違っていますか?
ifコマンドが続く必要があります。コマンドが正常に終了するかどうかをテストします。
testコマンドまたは同等のコマンド[、または ksh ビルトインを使用できます[[。
if test "$1" = Y
また
if [ "$1" = Y ]
また
if [[ $1 == Y ]]
上記のコマンドは、引数で示された条件が true の場合に成功します。man test有効な条件のリストを提供する必要があります。testおよび[コマンドの変数置換を引用符で囲むことを忘れないでください。そうでない場合、未定義の変数は何も置き換えられず (つまり、削除されます)、通常はエラーが報告されます。
厳密な Posix 互換性が必要ない場合は、ksh組み込みの を使用してください。[[これは にもありますbash。引数を単語分割しないため、変数展開を引用符で囲む必要がないため、より便利です。[[では、引用符で囲まれていない限り、比較の右側はパターン (「グロブ」) であることに注意してください==。したがって、リテラルの等価性チェックが必要な場合は、右側に引用符が必要になる場合があります。