Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная

Команда eval

Автор: admin, 21 июля, 2023
Команды

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

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

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

Содержание

  • Синтаксис
  • Аргументы
  • Использование команды eval в Linux
  • Заключение

Синтаксис

$ 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 позволяет запускать содержимое переменных как команды и может быть очень полезной, особенно в сценариях.

Последние материалы

  • Файловый менеджер Thunar
    8 minutes 2 seconds ago
  • Эмулятор терминала Terminator
    5 days 2 hours ago
  • Приложение scanimage
    1 week 4 days ago
  • Утилита sensors
    2 weeks 1 day ago
  • Сканер Rkhunter
    3 weeks 1 day ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru