2016-06-27 17 views
-1

Wie kann ich sed Programm mit Export PS1 Umgebungsvariable verbinden? Ich möchte meinen $HOME Pfad durch ~ ersetzen, wenn ich auf root bin (wenn ich nicht auf Root bin, dann ist kein Problem damit und $HOME wird automatisch durch ~ ersetzt). Ich versuche etwas in der Art: export PS1="$(sed 's/\/home\/\myname/g' '\e[1m\e[31mroot\e[[email protected]\[\033[0;34m\]\w\[\033[0;37m\]$ ')" Bur dann Fehler aufgetreten sed: can't read \e[1m\e[31mroot\e[[email protected]\[\033[0;34m\]\w\[\033[0;37m\]$ : No such file or directoryLinux sed Programm funktioniert nicht mit PS1 Umgebungsvariable

+0

Hinweis Sie sagen 'sed 's/X/Y/g' Dinge ', so' sed' sieht diese 'Dinge' als eine Datei. – fedorqui

+0

Schauen Sie, wie sed funktioniert. – 123

Antwort

1

Wenn Sie etwas in die Befehlszeile eingeben, interpretiert sed es als einen Dateinamen. Um eine Textzeichenfolge zu verarbeiten, verwenden Sie etwas wie: echo abcd | sed 's/b/X/'. Um also PS1 zu ändern, würden Sie export PS1=$(echo "$PS1" | sed 's/.../.../') verwenden.

Verwandte Themen