Практическое написание сценариев командной оболочки Bash/Эмуляция ссылочной адресации: различия между версиями
Содержимое удалено Содержимое добавлено
Нет описания правки |
|||
Строка 41:
Обратите внимание, что мы должны сохранить буквальные кавычки во время присваивания значения переменной <code>COMMAND</code>, так как Bash все кавычки также интерпретирует на первом этапе. В этом примере мы их не можем опустить, потому что в противном случае после подстановки переменной <code>$COMMAND</code> на выходе получается строка <code>HELLO=Hello, World!</code>, которая формально состоит из двух инструкций:
* <code>HELLO=Hello,</code> (инициализация переменной окружения команды)
* <code>World!</code> (команда)
Так как команды с именем <code>World!</code> в системе явно не будет, то сценарий завершится с ошибкой.
Теперь если левую часть от равно так же сделать заменяемой, то можно получить подобие косвенной адресации в Bash. Главным образом это позволяет передавать в функции переменные, хранящие имена других переменных (левая часть равно), чтобы функция могла знать куда ей можно записать результат.
|