删除分号。
for i in `seq 2`; do echo "$i"; done > out.dat
建议
同样按照Fredrik Pihl的建议,在不需要二进制二进制文件时,或者至少在实际上不使用它们时,请尽量不要使用它们:
for i in {1..2}; do echo "$i"; done > out.datfor ((i = 1; i <= 2; ++i )); do echo "$i"; done > out.datfor i in 1 2; do echo "$i"; done > out.dat另外,请注意
words可能导致路径名扩展的输出。
for A in $(echo '*'); do echo "$A"; done
将显示文件而不只是文字
*。
$()还建议使用Bash和POSIX shell中的命令替换语法```,使其比使用反引号()更清晰,并且支持嵌套。
用于将输出读取到变量的更清洁的解决方案是
while read VAR; do ... done < <(do something)
和
read ... < <(do something) ## Could be done on a loop or with readarray.for A in "${ARRAY[@]}"; do :done就预期功能而言,使用printf也可以是一个更容易的选择:
printf '%sn' {1..2} > out.dat


