0

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

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

bot1
bot2
bot3

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

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

这可能吗?因此,如果我在第一个文件中添加另一行,它只会打印另一个 --exclude-agent="whatever I put in the file"

目前我得到了下面的内容,但不是我想要的

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

任何帮助都会很棒!

4

3 回答 3

0

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

于 2013-08-22T06:40:37.643 回答
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"

此外,您似乎正在尝试将参数存储在变量中。这是有史以来最糟糕的想法

于 2013-08-22T06:41:17.160 回答
0

打印出预期的输出:

echo "--exclude-agent="\"$line"\" "
于 2013-08-22T07:10:43.807 回答