Я намагаюся використовувати вбудовану підстрокову програму bash для заміни виводу підшлубку або іншої функції bash.
Наступні команди досить добре працюють в zsh; але призводить до bad substitutionпомилки в bash:
${${PWD##*/}//trunk/latest}
або
${$(basename $PWD)//trunk/latest}
вихід має бути останньою папкою $PWD, заміненою на latestмою поточну каталогtrunk
так /home/user/trunkмає статиlatest
Чи є еквівалент bash, що дозволяє ланцюжкові видання рядків, не покладаючись на змінні чи труби? Або вбудовані файли bash дозволяють лише введенню бути рядковою чи простою змінною?
sedкілька кроків. Але я не розумію, чому bash відмовляється виконувати підзаголовок, а потім замінити його вміст, як і будь-який інший рядок