0

我想在 bash 脚本的每一行之后打印一个 \ 。

示例:$k 的输出为:

git-core
nano
apache2

现在我想使用 apt 安装这个包。我现在唯一的解决方案是:

sudo apt-get install git-core \
nano \
apache2

我如何添加这个字符?

4

1 回答 1

1

正如建议的那样,您可能正在为您的问题寻找错误的解决方案。

您可以将 $k 中的换行符替换为空格:

k=$(echo "$k" | tr '\n' ' ')

更好的是,您可以利用 bash 单词解析,知道 apt 包名称的名称中没有空格(并假设您确定 $k 包含的所有内容都是包名称,由换行符分隔):

sudo apt-get install $k

缺少对 $k 的引用将使 bash 将换行符重新解析为常规的单词分隔符(空格)。

如果出于其他原因,您真的想在每行的末尾添加反斜杠,您可以随时使用 sed:

echo "$k" | sed 's/$/\\/'
于 2013-05-14T15:34:20.367 回答