🐧 Использование команды eval на Linux

Как использовать команду eval в Linux

by itisgood

Предположим, вы хотите выполнить несколько команд в 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))

см. также:

You may also like

Leave a Comment