Предположим, вы хотите выполнить несколько команд в Linux, конечно, вы можете составить их цепочку, но что, если я скажу вам, что вы можете сохранить их в переменной и выполнить ее?
Вот тут-то и приходит на помощь идея команды eval, которая позволяет выполнить цепочку команд, хранящихся в одной переменной.
Поэтому в этом руководстве мы расскажем вам о многочисленных примерах использования команды eval в Linux.
Как использовать команду eval в Linux
Чтобы использовать eval или любую другую команду, всегда полезно начать с синтаксиса.
Итак, вот синтаксис использования команды eval
eval [argument]
Здесь, в поле [argument], вы вводите переменную, которой назначается цепочка команд.
Проще говоря, вы добавляете переменную, которая содержит несколько команд с нужными параметрами.
Теперь давайте рассмотрим несколько примеров использования команды eval.
1. Оценка нескольких команд из переменной
Первым шагом будет создание переменной, в которой будет храниться цепочка команд.
Чтобы создать переменную, используйте следующий синтаксис команды:
variable_name="chain of commands"
Например, здесь я создал переменную sagar, которая будет печатать текст приветствия для вошедшего в систему пользователя:
sagar="echo 'Hello $USER'"
После этого вы можете использовать команду eval следующим образом, чтобы выполнить команды, хранящиеся в переменной:
eval $<variable_name>
Поскольку я назвал свою переменную sagar, я буду использовать следующее:
eval $sagar
2. Используйте несколько переменных
Хотя для большинства пользователей одной переменной будет достаточно, вы можете захотеть использовать несколько переменных для лучшего контроля над выполнением.
В этом случае вы можете просто объединить их следующим образом:
eval $command_1 $command_2
Но если вы хотите добавить какую-то дополнительную команду, например echo или print, то вам придется использовать двойные кавычки вокруг нее:
eval "echo $command_1 $command_2"
Для справки, здесь я использовал две строки в $command_1 и $command_2, как показано здесь, а затем использовал команду echo с командой eval:
3. Выполнение математических операций
Для выполнения математических операций синтаксис похож на тот, что я объяснял для использования нескольких переменных, но с небольшим отклонением.
Предположим, у вас есть две переменные var1 и var2 с числовыми значениями, и вы хотите их сложить (выполнить сложение).
Для этого нужно использовать двойные круглые скобки ((…)).
Звучит сложно? Давайте я покажу вам, как это сделать.
Я хочу выполнить сложение между var1 и var2, поэтому первым шагом будет выделение им некоторых чисел:
var1=10
var2=5
После этого возьмите другую переменную, чтобы показать текст:
result="Your total is"
Наконец, соберите все вместе, как показано здесь:
eval 'echo $result' $(($var1+var2))
см. также:
- 😈 Изучение Unix через доступ к публичному бесплатному Unix-серверу (работает с 1987 года)
- ☸️ Как установить приложения на Kubernetes с помощью Helm
- ☸️ Kubectl Шпаргалка всех необходимых команд Kubernetes часть 1