var=ab
echo -n "$var"
輸出:ab
刪除回聲線在bash
var=abc
echo "$var"
輸出:ababc
我想刪除第一ab
和abc
我該怎麼做更換呢?
問候,INTELINSIDE
var=ab
echo -n "$var"
輸出:ab
刪除回聲線在bash
var=abc
echo "$var"
輸出:ababc
我想刪除第一ab
和abc
我該怎麼做更換呢?
問候,INTELINSIDE
也許你正在尋找的東西,如:
var=ab
echo -n "$var"
var=abc
echo -e "\r$var"
這不會真正刪除任何東西,而僅僅是將光標移動到該行的開頭和覆蓋。如果正在寫入的文本太短,則先前寫入的內容仍將可見。你可以寫在舊的文本空間(很容易和便攜式):
printf "\r%-${COLUMNS}s" "$var"
,或者使用一些終端轉義序列來刪除舊的文本(不便攜式):
echo -e "\r$var\033[K"
移到開始行,寫入新文本,然後從光標刪除到行尾。 (這可能不起作用,取決於終端。)
澄清:'\ r'是回車符,它告訴終端在行的開頭重新開始,覆蓋可能已經存在的字符。 – 2012-04-25 18:18:34
這就是我想要的,謝謝! – intelinside 2012-04-26 13:38:07
換句話說,您希望您的輸出爲'abcabc'? – 2012-04-25 18:08:30
目前還不清楚你在問什麼。 ababc是你想要的輸出還是你看到的輸出? – larsks 2012-04-25 18:13:57
我無法在bash中重現它。如預期的那樣,我得到「abc」作爲輸出。 – 2012-04-25 18:16:06