hilfe bei bash-script

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
saxandl
Beiträge: 118
Registriert: 06.09.2011 07:17:00

hilfe bei bash-script

Beitrag von saxandl » 20.05.2014 15:34:52

hallo!

kann mir jms bei der erstellung eines bash-scrips behilflich sein?

hier kurz worum es geht:

auf der console wird mit dem befehl "vim-cmd vmsvc/getallvms" die liste aller vm's ausgegeben, und zwar in der folgenden Form:

Code: Alles auswählen

Vmid                        Name                ...
1      ipfire.192.168.1.2                       ...
10     ipfire.192.168.1.3                       ...
12     xterm_192.168.1.43@192.168.1.3           ...
13     ipfire.192.168.1.1                       ...
14     vSphere Management Assistant (vMA)       ...
19     CentOS 5.5 64-bit                        ...
22     cloud_192.168.1.44@192.168.1.1           ...
31     EasySCP_192.168.1.55@192.168.1.2         ...
33     ipfire.192.168.1.4                       ...
39     FreePBX v.1.20                           ...
4      svc_mode_54                              ...
5      svc_mode_61                              ...
Das script soll nun die Zahlen am anfang der Zeilen (erste Zeile Überschrift) in eine variable übernehmen und je zahl den Befehl

Code: Alles auswählen

vim-cmd vmsvc/power.suspend [Vmid]

absetzen.

uname
Beiträge: 12403
Registriert: 03.06.2008 09:33:02

Re: hilfe bei bash-script

Beitrag von uname » 20.05.2014 16:22:40

Nicht probiert:

Code: Alles auswählen

for i in $(vim-cmd vmsvc/getallvms |cut -d" " -f1 |grep -v "Vmid" );do echo $i;done
for i in $(vim-cmd vmsvc/getallvms |cut -d" " -f1 |grep -v "Vmid" );do vim-cmd vmsvc/power.suspend $i;done
Evtl. musst du den cut-Befehl auf andere Trennzeichen umstellen. Die erste Zeile ist nur der Test der einzelnen Nummern. Auch weiß ich nicht ob das mit den Slashes und Leerzeichen alles funktioniert.

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: hilfe bei bash-script

Beitrag von habakug » 20.05.2014 16:32:08

Hallo!

Ungetestet:

Code: Alles auswählen

for i in `vim-cmd vmsvc/getallvms | cut -d ' ' -f 1`; do vim-cmd vmsvc/power.suspend $i; done
Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

saxandl
Beiträge: 118
Registriert: 06.09.2011 07:17:00

Re: hilfe bei bash-script

Beitrag von saxandl » 20.05.2014 17:44:34

Hallo habakug!

Vielen Dank - der syntax passt.
lässt sich noch die erste Zeile der Ausgabe von eliminieren oder der do-befehl darauf beschränken, dass er nur ausgeführt wird, wenn $i eine zahl abbildet?

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: hilfe bei bash-script

Beitrag von habakug » 20.05.2014 17:55:28

Hallo!

Ja, wie @uname schon eingebaut hat, noch ein "grep -v ..." einfügen:

Code: Alles auswählen

for i in `vim-cmd vmsvc/getallvms | cut -d ' ' -f 1 | grep -v Vmid`; do vim-cmd vmsvc/power.suspend $i; done
dann wirft er diese Zeile weg.

Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Antworten