Командная подстановка
Командная подстановка (command substitution) — это один из мощнейших механизмов Bash. Суть его сводится к тому, что результат выполнения одной команды автоматически передается в качестве аргументов другой команде. Внутренняя команда в командной подстановке должна быть заключена в от- крывающие обратные кавычки ``. Результаты ее работы автоматически под- ставляются в командную строку внешней команде. Командная подстановка выглядит следующим образом:
внешняя_команда `внутренняя_команда`
Вместо открывающих кавычек (``) можно использовать конструкцию $(),
т. е.:
внешняя_команда $(внутренняя_команда)
Исследуем в качестве примера две команды: which, которая выводит путь к заданной команде, и ls –l, отображающую подробную информацию о файле. Командная подстановка позволяет выполнить их так, что результат работы which (внутренняя команда) будет подставлен в качестве аргумента команде ls –l (внешняя).
Пример 2.32. Командная подстановка |
$ which rpm
/bin/rpm
$ ls -l /bin/rpm
-rwxr-xr-x 1 rpm rpm 93692 Oct 12 /bin/rpm
$ ls -l `which rpm`
-rwxr-xr-x 1 rpm rpm 93692 Oct 12 /bin/rpm
Первая команда, приведенная в примере 2.32, определяет путь к программе rpm — which rpm. Путь /bin/rpm, полученный в результате работы пер- вой команды, вручную подставлен в качестве аргумента команде ls –l, которая выдала информацию об этом исполняемом файле. Последняя команда примера 2.32 демонстрирует командную подстановку: команда ls –l `which rpm` выполняет автоматическую подстановку результата ра- боты which команде ls –l.
Результаты, выводимые при работе внутренней команды в командной под- становке, могут быть занесены в переменную.
Дата добавления: 2015-06-12; просмотров: 828;