2013-11-24 20 views
0

我有以下腳本:打印字符串可靠地在兩者的bash換行和破折號

#!/bin/sh 

echo "111\n111" 
echo -e "222\n222" 

兩個bash和破折號無論是命令的工作:

$ /bin/dash test.sh 
111 
111 
-e 222 
222 
$ /bin/bash test.sh 
111\n111 
222 
222 

因爲我不能肯定是否/箱/ sh指向bash或破折號,並且我不能確定/ bin/bash或/ bin/dash是否存在,這是一個真正的問題。我也無法分割字符串,併爲換行符輸入一個「回顯」,因爲我需要用換行符將字符串輸入命令。

有沒有什麼方法可以在所有shell中使用換行符打印字符串?

回答

0

printf應更可靠:

$ printf "111\n111\n" 
111 
111 

這應該以同樣的方式在兩個炮彈。希望所有的炮彈。