用bash打印文件

时间:2013-08-22 06:35:46

标签: bash file printing

我正在考虑创建一个bash脚本来打印带有一些额外变量的文本文件,见下文

我想要一个包含类似内容的文本文件

bot1
bot2
bot3

然后让bash脚本像这样打印出来

--exclude-agent="bot1" --exclude-agent="bot2" --exclude-agent="bot3"

这可能吗?因此,如果我在第一个文件中添加另一行,它只会打印另一行--exclude-agent =“无论我放入文件中”

目前,我已经得到了接近的,但不是我想要的

#!/bin/bash
while read line
do
echo "--exclude-agent="$line" \\"
done < bots.txt

任何帮助都会很棒!

3 个答案:

答案 0 :(得分:0)

echo -n "--exclude-agent="$line"-n不打印最后一个\n,以便所有选项都在同一行

答案 1 :(得分:0)

这取决于你的意思

  

不是我想要的

首先,你引用有问题。正确的方法是

echo "--exclude-agent=$line \\"

如果您想在同一行打印,请尝试

echo -n "--exclude-agent=$line"

如果您想将其保存在变量中,请尝试使用此代码

params=''
while read -r line
do
    params+="--exclude-agent=$line "
done < bots.txt
printf '%s\n' "$params"

此外,您似乎正在尝试将参数存储在变量中。 Which is the worst idea ever

答案 2 :(得分:0)

打印出预期的输出:

echo "--exclude-agent="\"$line"\" "