Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

Configureren

Leidingen en omleiding

Ingesloten applicaties

Voorwaarden

Loops

String-bewerkingen

Configuratievoorbeeld

Verifiëren

Problemen oplossen

Gerelateerde informatie

Inleiding

Dit document beschrijft de CLI-module van Cisco IOS® Shell (IOS.sh).

Voorwaarden

Vereisten

Cisco raadt u aan kennis te hebben van Cisco IOS release 15.1(4)M, 15.1(2)S en latere releases. Cisco IOS.sh moet worden geconfigureerd en ingeschakeld om de functies en functies van Cisco IOS.sh op uw router te kunnen gebruiken.

Gebruikte componenten

De informatie in dit document is gebaseerd op deze hardware- en softwareversies:

- Cisco Catalyst 6500 Series-switches

- Cisco IOS-softwarerelease 15.1(1)SY

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.

Achtergrondinformatie

Cisco IOS.sh is een module waarmee u shell scripting in Cisco IOS CLI kunt gebruiken. Deze module helpt routinematige acties te automatiseren en vereenvoudigt het apparaatbeheer. Het kan in combinatie met andere beheergereedschappen worden gebruikt, zoals Cisco IOS Embedded Event Manager (EEM).

Configureren

Opmerking: Gebruik de Command Lookup Tool (alleen voor geregistreerde gebruikers) voor meer informatie over de opdrachten die in deze sectie worden gebruikt.

Voer in om Shell CLI op het apparaat in te schakelen:

Switch#terminal shell

Ga als volgt te werk om de Shell CLI uit te schakelen:

Switch#terminal no shell

Deze optie ondersteunt de PATH-variabele, die een lijst bevat van directories waar shell naar functies/applets kan zoeken. Tevens ondersteunt Shell CLI deze functies:

Leidingen en omleiding

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)

Ingesloten applicaties

Cisco IOS.sh bevat verschillende ingebouwde applets die helpen toepassingen en filters te maken voor de gebruikersfuncties:

[[             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

Voorwaarden

Hier zijn de opdrachten voor de if...Dan....andere exploitant.

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#

Deze vergelijkingsexploitanten worden gebruikt om met integerwaarden te werken:

Exploitanten

Beschrijving

-eq

Arg1-eq Arg2. True als Arg1 gelijk is aan Arg2

-n

Arg1-ne Arg2. True als Arg1 niet gelijk is aan Arg2

-lt

Arg1-lt Arg2. True als Arg1 kleiner is dan Arg2

K

Arg1-GE Arg2. True als Arg1 groter is dan Arg2

-ge

Arg1-ge Arg2. True als Arg1 groter dan of gelijk aan Arg2 is

spleet

Arg1-le Arg2. True als Arg1 kleiner of gelijk is aan Arg2

Deze voorwaarden zijn beschikbaar voor het werken met bestanden:

Exploitanten

Beschrijving

-a of -e

True als bestand bestaat

-d

Waar als bestand bestaat en het een folder is

-f

Waar als bestand bestaat en een vast bestand is

-r

Waar als bestand bestaat en leesbaar is

S

Waar als bestand bestaat en groter is dan nul

-w

Waar als bestand bestaat en uitvoerbaar is

-t

Test of file1 nieuwer is dan file2. De wijzigingsdatum op het bestand wordt voor deze vergelijking gebruikt

-Aan

Test als file1 ouder is dan file2

U kunt bij een vergelijkingsoperator meerdere voorwaarden gebruiken:

&&    Logical AND

||    Logical OR

Loops

Loops is hetzelfde als in Linux shell. Er zijn twee operatoren beschikbaar.

Hier zijn de opdrachten voor de operator:

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#

Hier zijn de opdrachten voor de beheerder:

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#

String-bewerkingen

Voor string vergelijkingen, als...Dan....anders kan de operator met deze wijzigingen worden gebruikt:

Exploitanten

Beschrijving

= = =

String 1 = string2, True als de strings gelijk zijn.

!=

String1!= string2, True als de strings niet gelijk zijn

<

String1 < string2, True als string1 lexicografisch minder is dan string2

>

String1 > string2, True als string1 lexicografisch groter is dan string2

Configuratievoorbeeld

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#

Verifiëren

Gebruik dit gedeelte om te bevestigen dat de configuratie correct werkt.

Geef de opdracht Show terminal op om de huidige terminal configuratie weer te geven:

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

Typ de opdracht show shell-functies om alle functies in de module weer te geven die door de gebruiker gedefinieerde functies omvatten:

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

}

Problemen oplossen

Er is momenteel geen specifieke troubleshooting-informatie beschikbaar voor deze configuratie.

Gerelateerde informatie

- Catalyst 6500 configuratiehandleidingen

- Technische ondersteuning en documentatie – Cisco Systems