;ls bash: 予期しない表示 ";"近くで構文エラーが発生しました。

;ls bash: 予期しない表示

入力後;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に切り替えるのがいいようです。

おすすめ記事