Команда 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) |