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)