【发布时间】:2015-01-17 10:18:44
【问题描述】:
我有 .bashrc 文件,并且在文件中出现了这一行:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
我正在尝试用这个替换它:
PS1='\[\e[32m\]\A\[\e[m\] \[\e[31m\]\u\[\e[m\]@\[\e[36m\]\h\[\e[m\]\[\e[32m\]:\[\e[m\]\[\e[32m\]\w\[\e[m\]\\$ '
我尝试这样做:
sed "s#PS1='\$\{debian_chroot:\+\(\$debian_chroot\)\}\\\[\\033\[01;32m\\\]\\u@\\h\\\[\\033\[00m\\\]:\\\[\\033\[01;34m\\\]\\w\\\[\\033\[00m\\\]\\\$ '#PS1='\\\[\\e[32m\\\]\\A\\\[\\e\[m\\\] \\\[\\e\[31m\\\]\\u\\\[\\e\[m\\\]@\\\[\\e\[36m\\\]\\h\\\[\\e\[m\\\]\\\[\\e\[32m\\\]:\\\[\\e\[m\\\]\\\[\\e\[32m\\\]\\w\\\[\\e\[m\\\]\\\\\$ '#g" .bashrc
但我收到错误提示:
sed: -e expression #1, char 267: Invalid content \{\}
我会使用 sed 或任何其他 bash/dash 脚本编写方式,这样我就可以为我经常使用的系统制作自定义脚本。
感谢您的帮助。
【问题讨论】:
-
如果这是唯一的
PS1=行,那么只需匹配删除它并添加您想要的行。不要试图过度匹配。 -
为什么使用 sed 而不是手动编辑文件?
-
您可以在许多系统上使用脚本,而且总是一样的。我希望避免手动编辑,这就是原因。
-
可悲的是,这不仅仅是 PS1= 线。我通常会这样做:D