我很無聊,並決定使用bash爲我的文本冒險編寫腳本。基本上,它應該在某些情況下爲打字機制作動畫,以便進行戲劇性的故事講述。我可以在一個文件中手動做到這一點,像這樣:bash:一次只讀一個字符中的文本,空白
sleep 0.1
echo -n "h"
sleep 0.1
echo -n "e"
sleep 0.1
echo -n "l"
sleep 0.1
echo -n "l"
sleep 0.1
echo -n "o"
你可以想像,這是可怕乏味。相反,我想一次從一個字符(或文件)中提取字符,並將睡眠命令應用於每個字符。
到目前爲止,我有以下幾點,從文件讀取。 IFS =允許空格保留,但不允許任何其他類型的空格(如換行符)。
IFS=
while read -n1 achar
do
echo $achar
done < aFile
有沒有一種方法可以使用它來獲取所有空格?作爲一個額外的問題,你能告訴我如何將它應用到用戶定義的腳本中,所以我不必從單獨的文件中讀取?因此,例如,假設我有一個名爲「hello」的字符串,並且只要將它傳遞給我的函數,只要在bash終端中運行我的文件,就可以作爲打字機進行動畫製作。
任何幫助,將不勝感激。謝謝!
如何使用'tr(1)'將換行符轉換爲空格? – g13n
如果我正確理解手冊頁,是否使用tr [:print:]選項? – derp
+1只是因爲你決定用bash腳本打無聊:) –