run

Команда run позволяет выполнять команды операционной системы из CLI.

Синтаксис

run {command} 

command

команда, предназначенная для выполнения командным интерпретатором.

 

Для шлюза используется командный интерпретатор sh, который запускается в директории Продукта под тем же пользователем, под которым запущена консоль.

Значение по

умолчанию

отсутствует

Режимы команды

privileged EXEC

Рекомендации по использованию

Данная команда предназначена для выполнения команд операционной системы, а также для запуска утилит Продукта, описанных в документе «Специализированные команды». Вывод команды передается на экран без изменения.

Прервать выполнение внешнего приложения можно комбинацией клавиш Ctrl-Shift-6.

Если по каким-либо причинам внешняя программа не отреагировала на прерывание, можно нажать CTRL-|. Эта команда посылает SIGKILL – неперехватываемый сигнал, по которому выполнение внешней программы прекращается.

 

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

% Shell command is not supported

 

Проверка синтаксиса не исчерпывающая. Возможен ввод команд, синтаксис которых будет отвергнут командным процессором системы.

В аргументах команды можно использовать префиксы, аналогичные используемым в командах работы с файлами:

•      допустимо использовать префикс только в начале аргумента;

•      допустимо использовать префикс внутри двойных кавычек (") при условии, что префикс будет написан сразу после отрывающей кавычки;

•      если используются одинарные кавычки ('), префикс не будет преобразовываться в путь к файлу.

Примеры

•      Подстановка отсутствует:

sterragate#run echo 'file:my_file.txt' _file:my_file.txt " my_file.txt"

file:my_file.txt _file:my_file.txt  my_file.txt

 

•      Подстановка присутствует:

sterragate#run echo file: file:some_file.txt "file:some_file.txt"

/var/cspvpn/ /var/cspvpn/some_file.txt /var/cspvpn/some_file.txt           

Также можно использовать данные префиксы при временном присваивании переменных среды.

Например:

sterragate#run SOME_VAR=file:some_file.txt env | grep SOME_VAR

SOME_VAR=/var/cspvpn/some_file.txt

sterragate#run SOME_VAR="file:some_file.txt" env | grep SOME_VAR

SOME_VAR=/var/cspvpn/some_file.txt

sterragate#run SOME_VAR=" file:some_file.txt" env | grep SOME_VAR

SOME_VAR= file:some_file.txt

sterragate#run SOME_VAR='file:some_file.txt' env | grep SOME_VAR

SOME_VAR=file:some_file.txt 

 

Следует соблюдать аккуратность при использовании специальных возможностей командного интерпретатора. Таких как:

•      перенаправление ввода из файла и вывода в файл (< > << >> и т.п.);

•      перенаправление вывода в другую команду, команды проверки условий и т.п.

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

Может не работать подстановка пути к файлу из префикса.

Рекомендуется всегда ставить пробелы до и после специальных модификаторов.

 

Например:

 

Рекомендуется. В результате будет создан файл с именем some_file.txt

sterragate#run cert_mgr show > file:some_file.txt

Не рекомендуется. В результате будет создан файл с именем file:some_file.txt

 

sterragate#run cert_mgr show>file:some_file.txt

 

Команда do run позволяет выполнять команды командного интерпретатора операционной системы из конфигурационного режима.

Отличие данной команды от

подобной команды

Cisco IOS

Команда run отсутствует у Cisco.

Пример

Приведенный ниже пример содержит информацию, которая выводится при выполнении команды run /sbin/ifconfig 

Router#run /sbin/ifconfig

 

eth0      Link encap:Ethernet  HWaddr 00:0E:0C:6F:0F:E6

          inet addr:192.168.16.2  Bcast:192.168.16.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:34 errors:0 dropped:0 overruns:0 frame:0

          TX packets:39 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:2226 (2.1 KiB)  TX bytes:2539 (2.4 KiB)

          Base address:0xcc00 Memory:c0100000-c0120000

 

eth1      Link encap:Ethernet  HWaddr 98:00:54:76:10:33

          inet addr:192.168.17.133  Bcast:192.168.17.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:1239 errors:0 dropped:0 overruns:0 frame:0

          TX packets:134 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:131023 (127.9 KiB)  TX bytes:11978 (11.6 KiB)

          Base address:0xc800 Memory:c0120000-c0140000

 

lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:27 errors:0 dropped:0 overruns:0 frame:0

          TX packets:27 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:2323 (2.2 KiB)  TX bytes:2323 (2.2 KiB)