Команда eval

Опубликовано admin - пт, 07/21/2023 - 11:53

В Linux встроенная в bash команда eval используется для выполнения аргументов в качестве команды оболочки.

Примеры использования команды eval в Linux

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

Содержание

Синтаксис

$ eval [аргумент ...]

Аргументы

Аргументы считываются и объединяются в одну команду. Затем эта команда считывается и выполняется оболочкой, а статус выхода возвращается как значение eval. При запуске команды без аргументов она возвращает 0.

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

Настроим переменную, включающую команду для отображения текущего времени в Торонто, Канада, Она, будет выглядеть так:

oleg@mobile:~:$ dt="TZ='Canada/Toronto' date"
oleg@mobile:~:$

Запустим переменную следующим образом:

oleg@mobile:~:$ eval $dt
Пт 21 июл 2023 08:16:19 Canada
oleg@mobile:~:$

В результате мы избавляемся от необходимости запоминать синтаксис команды date и указывать часовой пояс.

Конечно, если вводить каждый раз команды в окне терминала, то вряд ли удастся сэкономить много времени или усилий. Поэтому целесообразнее создать псевдоним, который будет выполнять ту же работу. Созданный псевдоним можно будет сохранить в файле .bashrc.

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

Заключение

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

Поделиться с друзьями