Sto cercando di utilizzare la sottostringa bash integrata per sostituire l'output di una subshell o di un'altra funzione bash.
I seguenti comandi funzionano abbastanza bene in zsh; ma provoca un bad substitutionerrore in bash:
${${PWD##*/}//trunk/latest}
o
${$(basename $PWD)//trunk/latest}
l'output dovrebbe essere l'ultima cartella di $PWD, sostituita da latestquando la mia directory corrente ètrunk
così /home/user/trunkdovrebbe diventarelatest
Esiste un equivalente bash che consente di concatenare le edizioni di stringhe senza fare affidamento su variabili o pipe? O i built-in bash consentono solo che l'input sia una stringa o una variabile semplice?
sedin pochi passaggi. Ma non capisco perché bash si rifiuta di eseguire subshell, quindi sostituisce il suo contenuto come qualsiasi altra stringa