书上说单引号表示原字符,而双引号能表示出内在含义.那为何linux中PS1变量用单引号围起来却能表达出内在含义? 比如这样:
[root]#set |grep PS1 PS1='[\u]\$' [root]#
百度也查到了同样的问题,但明显没回答好
学习是最好的投资!
這裡PS1的值就是[u]$, 最後之所以顯示成[root]#完全是因為bash又做了一次解釋操作! 因為bash看到[u]$後需要解釋最終如何顯示, 按照bash的規則, u就是顯示登入的帳號名稱, $你自己搜下吧.
PS1
[u]$
[root]#
bash
u
$
單引號不轉義,雙引號轉義,如a='123',那麼 echo ‘a$a’ 輸出為a$a echo ”a$a“ 輸出為a123
請問你的文件解決了嗎?我也有同樣的煩惱,在網上沒搜到答案
這裡
PS1
的值就是[u]$
, 最後之所以顯示成[root]#
完全是因為bash
又做了一次解釋操作!因為
bash
看到[u]$
後需要解釋最終如何顯示, 按照bash的規則,u
就是顯示登入的帳號名稱,$
你自己搜下吧.單引號不轉義,雙引號轉義,如a='123',那麼
echo ‘a$a’
輸出為a$a
echo ”a$a“
輸出為a123
請問你的文件解決了嗎?我也有同樣的煩惱,在網上沒搜到答案