Bash提示脚本

d4r*_*lo5 0 linux bash shell awk

我正在尝试按照这里找到的指南,但我不喜欢我所看到的警察.在他们设置的脚本PS1

PS1="<code> `cat /proc/loadavg | awk '{print $1}'` <more code>"
Run Code Online (Sandbox Code Playgroud)

我的问题是我想知道是否有可能用单引号写它:

PS1='<code> `cat /proc/loadavg | awk \'{print $1}\'` <more code>'
Run Code Online (Sandbox Code Playgroud)

因此,每次运行命令时都会对其进行评估,而不仅仅是一次.似乎awk中单引号的存在迫使我使用双引号.我希望在每次提示之后运行此操作,我还有另一个我想在这里运行的代码.

如果这对于bash来说太麻烦了,那么我很好,没有它,它更适用于概念证明.

cho*_*oba 5

您不能将单引号放入单引号中,您必须结束单引号,插入引号,然后再次启动单引号:

PS1='$(code | awk '\''{print $1}'\'')'
# or
PS1='$(code | awk '"'"'{print $1}'"'"')'
Run Code Online (Sandbox Code Playgroud)