мне нужно использовать эту командуBash вставить переменную в backticked команду
/usr/local/bin/mcl find -f .bz2
, который возвращает мне этот
:???????? '/Cloud Drive/test1.bz2'
:???????? '/Cloud Drive/test2.bz2'
в BASH сценарий. Проблема в том, что мне нужен последний параметр (.bz2) как переменная.
Я пытался с этим
FILENAME=".bz2"
UPLOADED=$(/usr/local/bin/mcl find -f $FILENAME)
# do something with $UPLOADED
Но очевидно, что он не работает. После некоторого исследования StackOverflow и в Интернете я нашел несколько способов сделать что-то подобное (даже используя обратные ссылки), но все же я не могу заставить его работать.
Каков правильный способ сделать это?
Эта структура работает для меня. Если я создаю файл BASH, содержащий содержимое VARIABLE = "", за которым следует 'RESULT = $ (echo $ VARIABLE)', тогда 'echo $ RESULT' выводит просто' content'. Что вы получаете вместо ожидаемого результата? Можете ли вы изменить свой вопрос, чтобы добавить сообщение об ошибке или неправильный вывод? – Bobulous
@ Арканон, это правда для 'content'. Это неверно для '$ 'content \ n \ n'' - завершающие символы новой строки лишаются. Это неверно для '' * "', если вы не исправите котирование во время расширения ('echo" $ VARIABLE "', а не 'echo $ VARIABLE'). Это неверно для '-e' или' -n', если ваше эхо использует эти параметры. Etc и т. Д. –