84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
书上说单引号表示原字符,而双引号能表示出内在含义.那为何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$aecho ”a$a“输出为a123
请问你的文件解决了吗?我也有同样的烦恼,在网上没搜到答案
这里
PS1
的值就是[\u]\$
, 最后之所以显示成[root]#
完全是因为bash
又做了一次解释操作!因为
bash
看到[\u]\$
后需要解释最终如何显示, 按照bash的规则,\u
就是显示登录的账号名,\$
你自己搜下吧.单引号不转义,双引号转义,比如a='123',那么
echo ‘a$a’
输出为a$a
echo ”a$a“
输出为a123
请问你的文件解决了吗?我也有同样的烦恼,在网上没搜到答案