Предположим, у меня есть файл path.txt
, содержащий текст $HOME/filedump/
на одной строке. Как я могу затем прочитать содержимое path.txt
в переменной, в то время как Bash анализирует содержимое?Получение Bash для анализа переменных из ввода файла
Вот пример того, что я пытаюсь сделать:
#!/bin/bash
targetfile="path.txt"
target=$([[ -f $targetfile ]] && echo $(< $targetfile) || echo "Not set")
echo $target
Желаемый результат: /home/joe/filedump/
Фактический выход: $HOME/filedump/
Я попытался с помощью cat
вместо <
, обертывая его в кавычки и многое другое. Кажется, мне ничего не кажется.
Уверен, что мне не хватает чего-то очевидного, и, вероятно, есть простая встроенная команда. Все, что я могу найти на Google, это страницы о чтении переменных из ini/config-файлов или разбиении одной строки на несколько переменных.
посмотрите на 'eval' в man bash. –