J'essaie d'utiliser la sous-chaîne bash intégrée pour remplacer la sortie d'un sous-shell ou d'une autre fonction bash.
Les commandes suivantes fonctionnent assez bien dans zsh; mais entraîne une bad substitution
erreur dans bash:
${${PWD##*/}//trunk/latest}
ou
${$(basename $PWD)//trunk/latest}
la sortie doit être le dernier dossier du $PWD
, remplacé par latest
lorsque mon répertoire actuel esttrunk
/home/user/trunk
devrait donc devenirlatest
Existe-t-il un équivalent bash permettant de chaîner des éditions de chaînes sans compter sur des variables ou des pipes? Ou les bash intégrés ne permettent-ils que l'entrée d'être une chaîne ou une variable ordinaire?
sed
en quelques étapes. Mais je ne comprends pas pourquoi bash refuse d'exécuter le sous-shell, puis remplace son contenu comme n'importe quelle autre chaîne