次のエラーが発生しました:-bash:1:forループの実行中にコマンドが見つかりません。

次のエラーが発生しました:-bash:1:forループの実行中にコマンドが見つかりません。

次のコマンドを実行しようとすると:

for x in $(seq 10); do echo $($x >> c.txt); done

次のエラーが発生します。

-bash: 1: command not found

ベストアンサー1

これを確認した後にシェルが行うことは、echo $($x >> c.txt)コマンド置換を最初に処理することです$($x >> c.txt)。これはコマンドの出力に置き換えられます$x >> c.txt。これはループの最初の反復$x1、対応するコマンドがないため、エラーが発生します。 (1〜10の範囲の整数に対応するコマンドがないと、ループを繰り返すたびにエラーが発生します。出力の問題が切り捨てられる可能性があります)

次のようなことをしたいかもしれません。

for x in $(seq 10); do
   echo "$x" >>c.txt
done

(コマンドの代用なし)または単に

seq 10 >>c.txt

これは同じ効果があります。

おすすめ記事