我有以下功能:擊:彩色輸出,帶有可變
function pause #for prompted pause until ENTER
{
prompt="$3"
echo -e -n "\E[36m$3" #color output text cyan
echo -e -n '\E[0m' #ends colored output
read -p "$*" #read keys from user until ENTER.
clear
}
pause "Press enter to continue..."
然而,我的函數拒絕青色適用於我傳遞到函數的字符串。
類似的問題被問here,但似乎我做正確的一切......
引用'$ *'會導致結果被視爲單個字符串。在OP的'read'命令中,所有傳遞給該函數的參數都作爲提示輸出。這樣做沒有什麼特別的錯誤。你的觀點1基本上是正確的,但是,爲了與OP似乎做的一致,它應該是'$ @'而不是'$ 3'(或者'$ 1')。 OP的ANSI序列沒有問題 - 它適用於我。 –
「read -p」something「沒有問題」 – dschulz
甚至沒有使用'read -p'$ *「' – dschulz