Предположим, у меня есть что-то вроде ниже:
eval link='/var/lib/${XYZ}/test' # string from another text file
XYZ только для примера, и это может быть что-то вроде ниже:
eval link='/var/lib/${MY_OWN_VAR}/test' # single quote here not double quotes
eval link='/var/lib/${WHAT_EVER}/test'
Возможно ли выдать ошибкуесли XYZ
не установлено?или есть какой-то другой способ выяснить, установлен XYZ
или нет?
Я смотрел на это , но есть предположение, что вы знаете имя переменной.В моем случае я не контролирую, что будет в строке для оценки.
ОБНОВЛЕНИЕ
Для ясности, все строки, которые необходимо оценить, взяты из текстового файла.в основном программа читает текстовый файл и выводит оцененные строки.
Все, что я пытаюсь здесь сделать, - это найти способ изящно отловить ошибку «несвязанная переменная» при оценке любой строки.в основном то, что делает set -u
, но изящно.