Перефразируя - я хочу использовать Bash подстановку команд и подстановку строк в одной строке.
Мои настоящие команды длиннее, но нелепое использование эха здесь - это просто "замена" для краткости и действует так же - с теми же ошибками;)
Я знаю, что мы можем использовать команду Bash для создания ее выходной строки в качестве параметра для другой команды, подобной этой:
echo "$(echo "aahahah</ddd>")"
aahahah</ddd>
I Также известно, что мы можем удалить последнюю известную часть строки следующим образом:
var="aahahah</ddd>"; echo "${var%</ddd>}"
aahahah
Я пытаюсь написать команду, в которой одна команда выводит строку, где я хочу удалить последнюю часть, которая известна.
echo "${$(echo "aahahah</ddd>")%</ddd>}"
-bash: ${$(echo "aahahah</ddd>")%</ddd>}: bad substitution
Это может быть порядок вещей, или подстановка работает только для переменных или жестко закодированных строк. Но я подозреваю, что только я что-то упустил, и это возможно.
Как мне заставить это работать? Почему это не работает?