Ich versuche, die integrierte Bash-Teilzeichenfolge zu verwenden, um die Ausgabe einer Subshell oder einer anderen Bash-Funktion zu ersetzen.
Die folgenden Befehle funktionieren in zsh recht gut. führt aber zu einem bad substitution
Fehler in bash:
${${PWD##*/}//trunk/latest}
oder
${$(basename $PWD)//trunk/latest}
Die Ausgabe sollte der letzte Ordner von sein $PWD
, der durch das latest
aktuelle Verzeichnis ersetzt wirdtrunk
so /home/user/trunk
sollte werdenlatest
Gibt es ein Bash-Äquivalent, mit dem Strings-Editionen verkettet werden können, ohne auf Variablen oder Pipes angewiesen zu sein? Oder erlauben Bash-Integrationen nur, dass die Eingabe eine Zeichenfolge oder eine einfache Variable ist?
sed
in wenigen Schritten erreicht werden. Aber ich verstehe nicht, warum Bash sich weigert, Subshell auszuführen, und dann seinen Inhalt wie jede andere Zeichenfolge ersetzt