Bash 对于i,`./script`cat file``语法
我有一个使用参数的脚本。在shell中,我像这样运行脚本:Bash 对于i,`./script`cat file``语法,bash,for-loop,parameters,cat,seq,Bash,For Loop,Parameters,Cat,Seq,我有一个使用参数的脚本。在shell中,我像这样运行脚本:/script1 2 3 4。我更喜欢使用一个在一行中包含1234的文件并运行:/script`cat file` 在我像这样在for循环中调用这个脚本之后:“./script`cat file``中的for I,但它不起作用。好的语法是什么?不能像这样嵌套tilde(命令替换)。您可以执行以下操作: for i in $(./script $(<file)) 对于$(./script$(中的i,您不能像这样嵌套tilde(命令替
/script1 2 3 4
。我更喜欢使用一个在一行中包含1234的文件并运行:/script`cat file`
在我像这样在for循环中调用这个脚本之后:“./script`cat file``中的for I
,但它不起作用。好的语法是什么?不能像这样嵌套tilde(命令替换)。您可以执行以下操作:
for i in $(./script $(<file))
对于$(./script$(中的i,您不能像这样嵌套tilde(命令替换)。您可以执行以下操作:
for i in $(./script $(<file))
对于$(./script$(使用$()
而不是\
``替换命令。这是它更好的原因之一
也就是说,使用cat文件
获取单词列表充其量是一个糟糕的主意,最坏的情况是一个坏主意(并且可能有危险)。它不能处理任何需要空格或使用shell全局字符的单词
首先,我建议不要这样做。使用$()
而不是\
``来替代命令。这是它更好的众多原因之一
man seq
也就是说,使用cat文件
获取单词列表充其量是一个糟糕的主意,最坏的情况是一个坏主意(并且可能有危险)。它不能处理任何需要空格或使用shell全局字符的单词
我建议一开始就不要这样做
man seq
生成一个数字序列
#!/bin/bash
for i in $(seq 1 10)
do
echo $i
done
生成一个数字序列
#!/bin/bash
for i in $(seq 1 10)
do
echo $i
done