如何将sed
程序与导出PS1环境变量连接?当我在根上时,我想用~
替换我的$HOME
路径(当我不在根上时,它没有问题,$HOME
自动替换为~
)。我正在尝试这样的东西:export PS1="$(sed 's//home/myname/g' 'e[1me[31mroote[0m@[ 33[0;34m]w[ 33[0;37m]$ ')"
,但然后发生错误sed: can't read e[1me[31mroote[0m@[ 33[0;34m]w[ 33[0;37m]$ : No such file or directory
当您在命令行中输入某些内容时,sed将其解释为文件名。要处理文本字符串,请使用如下命令:echo abcd | sed 's/b/X/'
。因此,为了修改PS1,您可以使用export PS1=$(echo "$PS1" | sed 's/.../.../')
.