和c語言不一樣,shell指令碼中的單引號和雙引號一樣都是字串的界定符,而不是字元的界定符。單引號用於保持引號內所有字元的字面值,即使引號內的\
和回車也不例外,但是字串中不能出現單引號。如果引號沒有配對就輸入回車,shell會給出續行提示符,要求使用者把引號配上對。例如:
itcast$ echo
'$shell'
$shell
itcast$ echo
'abc\(回車)
> de'(再按一次回車結束命令)
abc\
de
被雙引號用括住的內容,將被視為單一字串。它防止萬用字元擴充套件,但允許變數擴充套件。這點與單引號的處理方式不同
itcast$ date=
$(date
)itcast$ echo
"$date"
itcast$ echo
'$date'
單引號和雙引號
char p1 1 char p2 1 1 的ascii碼值為49 0和49位址處為作業系統使用,故訪問這些位址如printf s,s,s p1,p2,p3 會產生段錯誤。printf n n的ascii碼值為10,同理,段錯誤。a 表示字元常量,在記憶體中佔1個位元組,a 1表示 a 的ascii...
單引號( )和雙引號( )
關鍵是要養成良好的習慣.單引號 一般用在單字元,如 c 雙引號 一般用在字串,如 abc 如果巢狀使用的話,一般用交替方法,尤其是html中.如,也可以改成.在分割乙個字串時要用到str.split或者regex.split。簡單的單個字串的替換,直接用字串.split 單個字串 多個字串的替換用r...
shell中單引號 雙引號 反引號
一 單引號和雙引號 首先,單引號和雙引號,都是為了解決中間有空格的問題。因為空格在linux中時作為乙個很典型的分隔符,比如string1 this is astring,這樣執行就會報錯。為了避免這個問題,因此就產生了單引號和雙引號。他們的區別在於,單引號將剝奪其中的所有字元的特殊含義,而雙引號中...