$ sh
sh-3.2$ if
> ps -ef | grep apple ;
> then
> echo APPLE
> fi ;
lazer 7584 7571 0 04:36 pts/4 00:00:00 grep apple
APPLE
sh-3.2$ exit
exit
$ which sh
/bin/sh
$ /bin/sh -c if ps -ef | grep apple ; then echo APPLE fi ;
bash: syntax error near unexpected token `then'
$
上記のように、単純な if ステートメントは行ごとに実行すると期待どおりに機能しますが、を使用して実行すると次のエラーが発生しますsh -c
。
bash: 予期しないトークン「then」の近くで構文エラーが発生しました
ここで何が欠けていますか?