【问题标题】:print character after each line in terminal在终端的每一行之后打印字符
【发布时间】:2013-05-14 14:20:32
【问题描述】:

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

示例: $k 的输出是:

git-core
nano
apache2

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

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

如何添加这个字符?

【问题讨论】:

  • 您已经将它们放在变量中了吗? sudo apt-get install $k 应该可以工作
  • 我对 debian 的 apt-get 不是很熟悉。但是apt-get foo bar baz 不起作用吗?我的意思是,用空格隔开?
  • 是的,但它们都必须排成一行。否则,您必须在行尾使用 \。

标签: bash terminal apt


【解决方案1】:

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

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

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

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

sudo apt-get install $k

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

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

echo "$k" | sed 's/$/\\/'

【讨论】:

    猜你喜欢
    • 2021-05-23
    • 2015-05-23
    • 1970-01-01
    • 2020-07-21
    • 2011-09-02
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多