2016-06-27 17 views
-1

sedプログラムとエクスポートPS1環境変数をどのように接続できますか?ルート上にいるときに私の$HOMEパスを~に置き換えたいです(私がルートにいないときは問題はなく、$HOMEは自動的に~に置き換えられます)。私はこのようなことをしようとしています:export PS1="$(sed 's/\/home\/\myname/g' '\e[1m\e[31mroot\e[[email protected]\[\033[0;34m\]\w\[\033[0;37m\]$ ')" bur thenエラーが発生しましたsed: can't read \e[1m\e[31mroot\e[[email protected]\[\033[0;34m\]\w\[\033[0;37m\]$ : No such file or directoryPS1環境変数でLinux sedプログラムが動作しない

+0

あなたは 'sed '/ X/Y/g' things''と言っているので、' sed'は 'things'をファイルとして見ます。 – fedorqui

+0

sedの仕組みを見てください。 – 123

答えて

1

何かをコマンドラインに置くと、sedはファイル名として解釈します。テキスト文字列を処理するには、echo abcd | sed 's/b/X/'のようなものを使用します。したがって、PS1を変更するには、export PS1=$(echo "$PS1" | sed 's/.../.../')を使用します。

関連する問題