如何将sed
程序与导出PS1环境变量连接?我希望在我根目录时将$HOME
路径替换为~
(当我不在root时,那么它就没问题了,$HOME
会自动被替换与~
)。我尝试过这样的事情:export PS1="$(sed 's/\/home\/\myname/g' '\e[1m\e[31mroot\e[0m@\[\033[0;34m\]\w\[\033[0;37m\]$ ')"
bur然后发生错误sed: can't read \e[1m\e[31mroot\e[0m@\[\033[0;34m\]\w\[\033[0;37m\]$ : No such file or directory
答案 0 :(得分:1)
当您在命令行中输入内容时,sed会将其解释为文件名。要处理文本字符串,请使用以下内容:echo abcd | sed 's/b/X/'
。因此,为了修改PS1,您可以使用export PS1=$(echo "$PS1" | sed 's/.../.../')
。