【发布时间】:2011-05-14 21:40:47
【问题描述】:
# for i in {1..5} do echo "New File $i" > file$i done
-bash: syntax error near unexpected token `>'
我尝试了上面的单行脚本,但由于上述错误而失败。我正在尝试自动化打字过程:
echo "New File" > file1
echo "New File" > file2
echo "New File" > file3
echo "New File" > file4
echo "New File" > file5
我正在尝试在不创建如下脚本文件的情况下执行此操作:
#!/usr/bin/env bash
for i in {1..5}
do
echo "New File $i" > file$i
done
此脚本有效,但我希望能够在命令行的一行中执行类似的操作。
我知道问题与重定向 > 到文件有关。我尝试转义 > 重定向一些其他的东西,并谷歌搜索,但我没有想出一些有用的东西。
我希望能够在 cli 的一行中执行此操作的原因是因为我希望能够不断更改文件的数量和内容以进行测试,并且我更愿意只在命令上执行此操作行而不是编辑脚本文件。
更新 1
我按照建议尝试了命令分隔符并得到以下错误:
# for i in {1..5} do ; echo "New File $i" > file$i ; done
-bash: syntax error near unexpected token `echo'
更新 2
我在更新 1 中错误地使用了上述命令分隔符。 完成命令分隔符,因为它们在下面的答案中就像一个魅力。
【问题讨论】:
-
请正确格式化您的代码(每个代码行缩进 4 个空格)。这将使您的问题更易于阅读和理解,并提高您获得正确答案的机会。
-
我一直在想这个问题。 +1