Linux sed程序不适用于PS1环境变量

时间:2016-06-27 13:49:47

标签: linux sed ps1

如何将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

1 个答案:

答案 0 :(得分:1)

当您在命令行中输入内容时,sed会将其解释为文件名。要处理文本字符串,请使用以下内容:echo abcd | sed 's/b/X/'。因此,为了修改PS1,您可以使用export PS1=$(echo "$PS1" | sed 's/.../.../')