Поиск по сайту:
Важнейшая задача цивилизации — научить человека мыслить (Т. Эдисон).

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

FavoriteLoadingДобавить в избранное
12.03.2024
Как использовать команду eval в Linux

Команда eval позволяет выполнять аргументы как команду командной строки. Вы можете объединить аргументы в одну строку, использовать результат в качестве входных данных для командной строки и выполнять результирующие команды.

Предположим, вы хотите выполнить несколько команд в Linux, уверены, что вы можете связать их в цепочку, но что, если мы скажем вам, что вы можете сохранить их в переменной и выполнить ее?

Вот где проявляется вся идея команды eval, позволяющая вам выполнять цепочку команд, хранящихся в одной переменной.

Итак, в этой статье мы познакомим вас с несколькими примерами использования команды eval в Linux.

 

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

Чтобы использовать eval или любую другую команду, всегда полезно начинать с синтаксиса. Итак, вот синтаксис использования команды eval:

eval [argument]

 

Здесь, в поле [argument], вы вводите переменную, которая присваивается с помощью цепочки команд.

Проще говоря, вы добавляете переменную, которая содержит несколько команд с желаемыми параметрами.

Теперь давайте посмотрим на некоторые примеры команды eval.

 

1. Вычислите несколько команд из переменной

Первым шагом является создание переменной, в которой вы будете хранить цепочку команд. Чтобы создать переменную, используйте следующий синтаксис команды:

variable_name="chain of commands"

 

Например, здесь мы создали переменную andreyex, которая будет печатать текст приветствия для вошедшего в систему пользователя:

andreyex="echo 'Hello $USER'"

 

Читать  Примеры команды tail в Linux

После завершения вы можете использовать команду eval следующим образом для выполнения команд, хранящихся внутри переменной:

eval $<variable_name>

 

Поскольку мы назвали свою переменную andreyex, мы будем использовать следующее:

eval $andreyex

 

andreyex@Destroyer: $ andreyex="echo 'Hello $USER'" 
andreyex@Destroyer: $ eval $andreyex 
Hello andreyex
andreyex@Destroyer:

 

2. Используйте несколько переменных

Хотя для большинства пользователей работа будет выполнена с помощью одной переменной, вы можете захотеть использовать несколько переменных для лучшего контроля над выполнением.

В этом случае вы можете просто объединить их следующим образом:

eval $command_1 $command_2

 

Но если вы хотите добавить какую-либо дополнительную команду, такую как echo или print, то вам придется заключить ее в двойные кавычки:

eval "echo $command_1 $command_2"

 

Для справки, здесь мы использовали две строки в $command_1 и $command_2, как показано здесь, а позже использовали команду echo с командой eval:

andreyex@Destroyer: $ command_1="My name is"
andreyex@Destroyer: $ command_2=" andreyex"
andreyex@Destroyer: $ eval "echo $command_1 $command_2" 
My name is andreyex 
andreyex@Destroyer: $

 

3. Выполняйте математические операции

Для выполнения математических операций синтаксис аналогичен тому, что мы объяснили для использования нескольких переменных, но с небольшим изменением.

Предположим, у вас есть две переменные: var1 и var2, содержащие числовые значения, и вы хотите их добавить (выполнить сложение).

Поэтому вам придется использовать двойные круглые скобки ((…)) для этой цели.

Звучит сложно? Позвольте мне показать вам, как это осуществить.

Читать  Создание бесконечного цикла Bash с помощью примеров сценариев

Мы хотим выполнить сложение между var1 и var2, поэтому первым шагом будет выделение им некоторых чисел:

var1=10
var2=5

 

После завершения возьмите другую переменную, чтобы отобразить некоторый текст:

result="Your total is"

 

Наконец, соберите все это вместе, как показано здесь:

eval 'echo $result' $(($var1+var2))

 

andreyex@Destroyer:
andreyex@Destroyer: $ var1=10
andreyex@Destroyer: $ var2=5
andreyex@Destroyer: $ result="Your total is"
andreyex@Destroyer: $ eval 'echo $result' $(($var1+var2)) Your total is 15
andreyex@Destroyer: $

 

Дополнительные способы выполнения нескольких команд

Если использование команды eval для выполнения нескольких команд кажется вам неуместным, то мы написали подробную статью, объясняющее, как запускать несколько команд в Linux:

Мы надеемся, вы найдете это полезным.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:



Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

четыре × четыре =

**ссылки nofollow

Это может быть вам интересно

Рекомендуемое
В стремительно меняющемся мире, где информация является ключом к успеху,…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: