2013-05-14 50 views
0

我想在bash腳本的每行之後打印\。終端中的每行之後的打印字符

例: 的$ k處的輸出是:

git-core 
nano 
apache2 

現在我想安裝此包中使用恰當的。唯一的解決辦法我現在是:

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

如何添加這個人物?

+1

您已經有他們在一個變量? 'sudo apt-get install $ k'應該可以工作 – Kevin 2013-05-14 14:50:03

+0

我對debian的apt-get並不熟悉。但是不會'傻瓜巴吧'工作?我的意思是,由空間隔開? – Kent 2013-05-14 14:50:45

+0

是的,你可以做到。 – aymericbeaumet 2013-05-14 15:11:31

回答

1

如上所述,您可能正在爲您的問題尋找錯誤的解決方案。

您可以用空格代替從$ k中的新行字符:

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

更重要的是,你可以把bash的詞解析的優勢,知道易包名不要有空格在其名稱(假設你確定所有的$ķ包含的包名,用換行符分開):

sudo apt-get install $k 

缺乏報價爲$ k將使得bash重新解析換行到正規單詞分隔符(空格)的。

如果因爲某些其他原因,你真的要反斜線添加到每個行的末尾,你可以隨時使用SED:

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