2010-11-19 38 views
-1

嗨我需要在字符串中包括空格在bash中的字符。我該怎麼做?在bash中的字符串

+3

爲了獲得有用的答案,您需要提供更多的細節,或許是您試圖獲得的結果的一個例子。 – 2010-11-19 21:40:50

回答

1

不確定你真正的意思,但在幾乎所有情況下,包括空格在內的字符串問題都可以通過引用來解決。

因此,如果您有a nice day,請嘗試"a nice day"'a nice day'

1

您使用它的一些外部工具。 bash shell實際上是用來通過簡單的組合將其他程序粘合在一起的。

根據你的需要,你可以使用cut,awk,sed甚至perl。

1

試試這個

#/bin/bash 

str="so long and thanks for all the fish" 
while [ -n "$str" ] 
     do 
       printf "%c\n" "$str" 
       str=${str#?} 
done 
2

擊不直接支持的子串(如果是這樣的OP想要什麼):

$ A='Hello World!' 
$ echo "${A:3:5}" 
lo Wo 
$ echo "${A:5:3}" 
Wo 
$ echo "${A:7:3}" 
orl 

使用的擴展概括爲:

${PARAMETER:OFFSET:LENGTH} 

參數你的變量名稱。 OFFSET和LENGTH是`let'使用的數字表達式。有關更多信息,請參閱shell參數擴展的bash信息頁面,因爲這裏有一些重要細節。

因此,如果你想要例如打印自己的行中每個變量的內容,所有的字符,你可以做這樣的事情:

$ for ((i=0; i<${#A}; i++)); do echo ${A:i:1}; done 

這種方法的好處是,你不必存儲在其他位置的字符串,裂傷其內容或者使用外部工具進行流程替換。