Команда eval в Linux с примерами

Команда eval в Linux с примерами

Утилита eval — инструмент командной строки Linux, который позволяет выполнять команды в терминале. При вызове eval необходимо передать в качестве аргумента команду (или переменную, которая содержит в себе команду). Эта утилита указывает оболочке интерпретировать аргумент таким образом, будто он был введен непосредственно в терминал.

В этой статье мы расскажем, как использовать инструмент eval в Linux.

Содержание:

  1. Выполнение записанных в переменную команд с помощью eval
  2. Использование подстановки команд
  3. Выполнение арифметических операций
  4. Применение команды eval в скриптах Bash
  5. Выводы

Выполнение записанных в переменную команд с помощью eval

Для примера создадим переменную command и присвоим ей значение ls -l:

 

Команда ls -l выводит на экран содержимое текущего каталога в длинном формате. Теперь давайте передадим переменную command в качестве аргумента eval:

 

eval Using Variables

На скриншоте видно, что выполненная команда вывела на экран содержимое текущего каталога, как если бы мы непосредственно использовали ls -l в терминале.

Попробуем записать в переменную command значение echo Hello World. После чего передадим ее в качестве аргумента eval:

 

eval Dynamic Commands

Читайте также: 15 примеров команды ls в Linux.

Использование подстановки команд

Подстановка команд — механизм, который позволяет запускать утилиту и вставлять ее вывод обратно в командную строку в качестве аргументов другой команды. В Bash подстановка команд обычно выполняется путем заключения выражения в $(). К примеру, создадим переменную directory, в которую запишем $(pwd):

 

Здесь $(pwd) — подстановка команды pwd, которая используется для вывода пути к текущему рабочему каталогу. Благодаря подстановке, мы записываем в переменную directory не саму команду pwd, а результат ее работы.

Теперь в качестве аргумента eval передадим команду ls с переменной directory:

 

eval Command Substitution

Выполнение арифметических операций

Утилита eval позволяет выполнять математические операции в командной строке Linux. Для примера создадим переменные x и y со значениями 5 и 10, соответственно:

 

Чтобы узнать сумму этих двух чисел с помощью eval, выполним в терминале следующую команду:

 

Здесь мы используем двойные скобки $((...)). Все, что находится внутри них, оболочка Bash рассматривает как арифметическое выражение, которое должно быть подсчитано. А команда echo выводит в терминал результат вычисления.

eval Arithmetic Evaluation

Читайте также: Команда bc в Linux с примерами.

Применение команды eval в скриптах Bash

Утилита eval может использоваться и в сценариях командной строки. Например, напишем код, в котором:

  • определим переменные name, age и city;
  • запишем в переменную command строку, включающую значения name, age и city;
  • используем eval для вывода на экран значения command.

 

Запустим наш скрипт на выполнение:

 

eval script

Выводы

Мы рассказали Вам, как работает утилита eval в ОС Linux. Представленные примеры демонстрируют варианты использования этого инструмента для динамического выполнения команд, осуществления подстановок команд и подсчета арифметических выражений.

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасности от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики