debian bash script - variable mit zeilenumbruch

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
joe2017
Beiträge: 1274
Registriert: 07.08.2017 14:29:51

debian bash script - variable mit zeilenumbruch

Beitrag von joe2017 » 03.09.2024 10:39:57

Hallo zusammen,

ich hab aktuell ein Script geschrieben, welches sich mittels ssh zu meinen ca 50 Switchen verbindet und diverse commands ausführen soll.
Leider funktioniert das aktuell nur mit einem einzigen befehl. Ich habe jedoch mehrere Befehle welche ich ausführen muss.

Das funktioniert:

Code: Alles auswählen

var-commands="command1"
Folgnde Varianten funktionieren nicht, da der Switch denkt es wäre ein Befehl:

Code: Alles auswählen

var-commands="command1 command2"
var-commands="command1 & command2"
var-commands="command1 
command2"
var-commands="command1 \
command2"
Hat jemand eine Idee wie ich das lösen kann?

Hier noch als Ergänzung das kleine Script:

Code: Alles auswählen

var-user=USER
var-pw=PW
varIP="IP1 IP2 IP3 usw."
var-commands="command1"

for i in ${varIP}; do
   echo ${var-commands} | sshpass -p "$var-pw" ssh $var-user@${i} "cli" &
done

tobo
Beiträge: 2335
Registriert: 10.12.2008 10:51:41

Re: debian bash script - variable mit zeilenumbruch

Beitrag von tobo » 03.09.2024 10:53:09

Was hast du denn für eine Bash-Version, die - als Teil eines Variablennamens akzeptiert?

Benutzeravatar
joe2017
Beiträge: 1274
Registriert: 07.08.2017 14:29:51

Re: debian bash script - variable mit zeilenumbruch

Beitrag von joe2017 » 03.09.2024 11:29:51

Hab das jetzt mit einem array und einer zweiten schleife hinbekommen. :-)

Benutzeravatar
whisper
Beiträge: 3373
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: debian bash script - variable mit zeilenumbruch

Beitrag von whisper » 03.09.2024 12:10:51

Ich nehme für sowas Debianpssh

Code: Alles auswählen

The package contains:
 .
  - Parallel ssh (parallel-ssh, upstream calls it pssh), executes commands on
    multiple hosts in parallel
  - Parallel scp (parallel-scp, upstream calls it pscp), copies files to
    multiple remote hosts in parallel
  - Parallel rsync (parallel-rsync, upstream calls it prsync), efficiently
    copies files to multiple hosts in parallel
  - Parallel nuke (parallel-nuke, upstream calls it pnuke), kills processes on
    multiple remote hosts in parallel
  - Parallel slurp (parallel-slurp, upstream calls it pslurp), copies files
    from multiple remote hosts to a central host in parallel
 .
 These tools are good for controlling large collections of nodes, where faster
 alternatives such as gexec and pcp are not available.
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt. 😉

Antworten