入力後;ls
その対価でこれを受けました -bash: syntax error near unexpected token `;'
どうすれば解決できますか?
ベストアンサー1
セミコロンはコマンドを終了します。改行文字は大丈夫なので、通常は必要ありません。しかし、以下を使用すると、1行に複数のコマンドを配置できます。
$ echo -n "hi "; echo there
hi there
それとももっと役に立つかもしれません:
if [ whatever ]; then
行の先頭にセミコロンを入れると、その前に空のコマンドが残ります。これは明らかにシェル構文では禁止されています。 Yashは便利なエラーメッセージを提供します。
$ yash -c '; echo hi'
yash -c:1: syntax error: a command is missing before ‘;’
KshとZshは問題を無視しているようです。
$ zsh -c '; echo hi'
hi
(しかし、isはとは異なり、likeは.とは異なるecho foo;;
ため、これらでも使用できません。はステートメントに使用されます。);;
;
>
>>
;;
case
空のコマンドは何もしないので、前のセミコロンを省略できます。それともZshに切り替えるのがいいようです。