ksh-Skript mit if break-Anweisungen

446
Jamesking

Ich habe eine Skriptdatei, die die Serverdetails enthält

set -A SERVERGRPS SERVERS_CA SERVERS_NY set -A CA ca126 ca546 ca 642 set -A NY ny112 ny113 ny114 

Jetzt muss ich ein anderes Skript schreiben, das keine Serverdetails enthalten sollte. Es sollte keine Servernamen anzeigen. Es sollte die erste Skriptdatei verwenden, die ich oben eingefügt habe. Es muss nur die Servergruppe am Ende durch angezeigt werden mit dem $ HOSTNAME des Servers, von dem aus wir das Skript ausführen (es wird mit welcher Gruppe wie CA oder NY übereinstimmen).

Angenommen, der Hostname des Servers befindet sich im CA-Array, und es sollte etwas wie SERVERGROUP IS CALIFORNIA lauten. Wenn in beiden Arrays kein Servername übereinstimmt, sollte "Kein Servername gefunden" angezeigt werden.

Für dieses Skript sollte die Schleife eine break-Anweisung haben und aus der Schleife austreten, sobald festgestellt wurde, dass die erforderliche Server-Gruppe die gesamte Schleife nicht überschreitet.

for TEMP_SRVGRP in $; do SERVERGRP="GRP_$TEMP_SRVGRP" for SERVERGRP in $; do if [[ $SERVERGRP == $HOSTNAME ]]; then  $SERVERGRPS=$SERVERGRP break echo $SERVERGRPS fi done done if [[ -n $SERVERGRPS]]; then break fi if [[ -z $SERVERGRPS]]; then echo SERVERGRP is not defined for $HOSTNAME fi 

erledigt

Wenn mir jemand helfen könnte, dieses Skript zu schreiben, wäre es großartig. Bitte hilf mir....

0
Abgesehen von ksh unterscheidet sich dies von Ihrer [vorherigen Frage] (http://superuser.com/questions/803913/linux-bash-iterating-and-break). Diese Website ist kein "Gib mir die Codez" -Service, siehe http://superuser.com/help/how-to-ask glenn jackman vor 9 Jahren 0
Hallo Glenn, ich habe das obige Skript geschrieben. Ich kann die gewünschte Ausgabe nicht erhalten. Jamesking vor 9 Jahren 0

0 Antworten auf die Frage