当我尝试执行以下命令时:
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
这将具有同等的效果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句