书上说单引号表示原字符,而双引号能表示出内在含义.那为何linux中PS1变量用单引号围起来却能表达出内在含义?
比如这样:
[root]#set |grep PS1
PS1='[\u]\$'
[root]#
百度也查到了同样的问题,但明显没回答好
书上说单引号表示原字符,而双引号能表示出内在含义.那为何linux中PS1变量用单引号围起来却能表达出内在含义?
比如这样:
[root]#set |grep PS1
PS1='[\u]\$'
[root]#
百度也查到了同样的问题,但明显没回答好
1 回答892 阅读✓ 已解决
1 回答696 阅读✓ 已解决
3 回答687 阅读✓ 已解决
1 回答1.4k 阅读
1 回答825 阅读✓ 已解决
2 回答593 阅读✓ 已解决
1 回答665 阅读
这里
PS1
的值就是[\u]\$
, 最后之所以显示成[root]#
完全是因为bash
又做了一次解释操作!因为
bash
看到[\u]\$
后需要解释最终如何显示, 按照bash的规则,\u
就是显示登录的账号名,\$
你自己搜下吧.