Switches : Switches Cisco Catalyst de la serie 6500

Ejemplo de la configuración de módulos del shell CLI del Cisco IOS

17 Octubre 2016 - Traducción Automática
Otras Versiones: PDFpdf | Inglés (22 Agosto 2015) | Comentarios

Introducción

Este documento describe el módulo del shell del ® del Cisco IOS (IOS.sh) CLI.

Contribuido por Oleksandr Nesterov, ingeniero de Cisco TAC.

Prerrequisitos

Requisitos

Cisco recomienda que usted tiene conocimiento del Cisco IOS Release 15.1(4)M, 15.1(2)S, y posterior las versiones. Cisco IOS.sh se debe configurar y habilitar para utilizar las características y las funciones de Cisco IOS.sh en su router.

Componentes Utilizados

La información que contiene este documento se basa en estas versiones de software y hardware.

  • Cisco Catalyst 6500 Series Switch
  • Cisco IOS Release 15.1(1)SY

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener cualquier comando.

Antecedentes

Cisco IOS.sh es un módulo que permite que usted utilice el shell script en el Cisco IOS CLI. Este módulo ayuda a automatizar las acciones rutinarias y simplifica la Administración de dispositivos. Puede ser utilizado conjuntamente con otras herramientas de administración tales como administrador del evento integrado Cisco IOS (EEM).

Configurar

Nota: Use la Command Lookup Tool (clientes registrados solamente) para obtener más información sobre los comandos usados en esta sección.

Para habilitar el shell CLI en el dispositivo, ingrese:

Switch#terminal shell

Para inhabilitar el shell CLI, ingrese:

Switch#terminal no shell

Este soportes de característica la variable de trayectos, que contiene una lista de directorios donde el shell puede buscar para la función/los applet. También, el shell CLI soporta estas características:

Tubos y cambio de dirección

Switch#show version | grep 15.1
Cisco IOS Software, s2t54 Software (s2t54-ADVENTERPRISEK9-M),
Version 15.1(1)SY, RELEASE SOFTWARE (fc2)

Switch#show version | grep 15 > bootdisk:version.txt
Switch#dir bootdisk:
Directory of bootdisk:/

14 -rw- 280 Nov 15 2012 23:25:32 +00:00 version.txt

1024557056 bytes total (577273856 bytes free)

Switch#cat bootdisk:version.txt
Cisco IOS Software, s2t54 Software (s2t54-ADVENTERPRISEK9-M),
Version 15.1(1)SY, RELEASE SOFTWARE (fc2)

Applet integrados

Cisco IOS.sh contiene varios applet incorporados que ayuden a crear las aplicaciones y los filtros para las funciones del usuario:

[[             evaluate a logical test expression
cat            output data from a pipe or file to the terminal
cut            edit piped output
echo           echo arguments to the terminal
false          return false in while or if expressions, and set the result
fetch          return values from the configuration database
grep           search for regular expressions in piped output or files
head           print the first lines in the input
interface      print interfaces that match the argument
let            evaluate a numeric expression, and set the result
man            print information for built-ins
more           page piped output to the terminal
nl             number the lines in the input
null           ignore the input
printf         output formatted data to the terminal
read           read input into variables
set_oper       set operational values
sleep          pause execution of the terminal
sort           sort the input
tail           print the tail of the input
true           return true in while or if expressions, and set the result
uname          print system information
wc             count lines, words, and characters

Condiciones

Aquí están los comandos para si….entonces….operador otro.

Switch#x=5
Switch#if [[ $x != 5 ]];
then.else.fi>then
then.else.fi>echo false;
then.else.fi>else
else..fi>echo true;
else..fi>fi;
true
Switch#

Utilizan a estos operadores de comparación para trabajar con los valores del número entero:

OperadoresDescripción
- eqArg1-eq Arg2. Verdad si Arg1 es igual a Arg2
- neArg1-ne Arg2. Verdad si Arg1 no es igual a Arg2
- ltArg1-lt Arg2. Verdad si Arg1 es menos que Arg2
- gtArg1-gt Arg2. Verdad si Arg1 es mayor que Arg2
- GEArg1-ge Arg2. Verdad si Arg1 es greate que o igual a Arg2
- leArg1-le Arg2. Verdad si es Arg1 inferior o igual Arg2

Estas condiciones están disponibles para trabajar con los archivos:

OperadoresDescripción
- a o - eVerdad si existe el archivo
- dVerdad si existe el archivo y es un directorio
-fVerdad si el archivo existe y es un archivo regular
-rVerdad si el archivo existe y es legible
- sVerdad si el archivo existe y tiene un tamaño mayor de cero
- wVerdad si el archivo existe y es ejecutable
- NTPruebe si file1 es más nuevo que file2. La fecha de la modificación en el archivo se utiliza para esta comparación
- otPruebe si file1 es más viejo que file2

Para utilizar varias condiciones dentro de un operador de comparación, usted puede utilizar a estos operadores lógicos:

  &&    Logical AND
  ||    Logical OR

Loops

Los loopes son lo mismo que en el shell de Linux. Dos operadores están disponibles.


Aquí están los comandos para el operador:

Switch#for x in 11 
do..done>do
do..done>ping 192.0.2.$x
do..done>done
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.0.2.10,timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Switch#

Aquí están los comandos para el operador del rato:

Switch#for i in 1 2 3
do..done>do
do..done>while [ $i -lt 3 ]
do..done>do
do..done>echo $i
do..done>done
do..done>i=i+1
do..done>done
Switch#

Operaciones de cadena

Para las comparaciones de cadenas, si….entonces….el operador otro puede ser utilizado con estas modificaciones:

OperadoresDescripción
==El == string2 de la cadena 1, verdad si las cadenas son iguales.
¡! =¡String1! = string2, verdad si las cadenas no son iguales
<String1 < string2, verdad si string1 es lexicográficamente menos que string2
>String1 > string2, verdad si string1 es lexicográficamente mayor que string2

Ejemplo de configuración

Switch#function add_desc() {
{..} >show running-config interface Gi$1
{..} >configuration terminal
{..} >interface Gi$1
{..} >description $2
{..} >end
{..} >show running-config interface Gi$1
{..} >}
Switch#add_desc 5/1 SHELL_TEST
Building configuration...

Current configuration : 74 bytes
!
interface GigabitEthernet5/1
ip address 192.0.2.10 255.255.255.0
end

Enter configuration commands, one per line. End with CNTL/Z.
Building configuration...

Current configuration : 98 bytes
!
interface GigabitEthernet5/1
description SHELL_TEST
ip address 192.0.2.10 255.255.255.0
end

Switch#

Verificación

Utilize esta sección para confirmar que su configuración funcione correctamente.

Ingrese el comando show terminal para visualizar la configuración del terminal actual:

Switch#show terminal 
Line 2, Location: "", Type: "XTERM-COLOR"
Length: 44 lines, Width: 155 columns
Baud rate (TX/RX) is 9600/9600
Status: PSI Enabled, Ready, Active, No Exit Banner, Ctrl-c Enabled
........
Preferred transport is lat.
Shell: enabled
Shell trace: off

Ingrese las funciones del shell de la demostración ordenan para visualizar todas las funciones disponibles en el módulo, que incluyen las funciones definidas por el usario:

Switch#show shell functions
 #User defined functions:

Function namespace: DEFAULT
function add_desc()
{
 show running-config interface Gi$1
 configure terminal
 interface Gi$1
 description $2
 end
 show running-config interface Gi$1
}

Troubleshooting

Actualmente, no hay información específica de troubleshooting disponible para esta configuración.

Información Relacionada



Document ID: 116208