Linux
收到以下錯誤:-bash:1:嘗試執行 for 循環時找不到命令
當我嘗試執行以下命令時:
for x in $(seq 10); do echo $($x >> c.txt); done
我收到以下錯誤:
-bash: 1: command not found
shell 在看到時
echo $($x >> c.txt)
會首先處理命令替換$($x >> c.txt)
。這將被命令的輸出替換$x >> c.txt
。在循環$x
的1
第一次迭代中,但沒有這樣的命令,因此出現錯誤(如果沒有與 1 到 10 範圍內的整數對應的命令,則循環的每次迭代都會出現一個錯誤;輸出在問題中可能被截斷)。你可能想做一些類似的事情
for x in $(seq 10); do echo "$x" >>c.txt done
(沒有命令替換),或者只是
seq 10 >>c.txt
這將產生等效的效果。
在第一次執行循環時,
x
將是1
,因此您執行echo $(1 >> c.txt)
並且 shell 嘗試執行1
,但未找到。如果您添加您實際嘗試做的事情,我們可以指出要更改的內容。