bash Skript mit Parametern

Post Reply
Message
Author
Alex

bash Skript mit Parametern

#1 Post by Alex »

Hallo,
zwar hatte ich das Thema schon in einer anderen Rubrik begonnen - der Lösungsvorschlag dort hat aber auch nicht funktioniert.

Folgendes "Problem": Wie kann ich beim Ausführen eines Shellskripts diesem einen oder mehrere Parameter übergeben?

Das Skript sieht derzeit so aus:

#!/bin/bash
#Skript
sudo /sbin/befehl $PARAM
#ENDE

Zwar wird der Befehl "sudo /sbin/befehl" ausgeführt aber die oder der Parameter werden nicht übergeben (weswegen sich das Prog beschwert).
Woran liegts?

Vielen Dank,
Gruss,
Alex

rattengift

Re: bash Skript mit Parametern

#2 Post by rattengift »

sorry, ich hab vorhin gepennt. die parameter werden numeriert. du musst also $1 schreiben: sudo /sbin/befehl $1
in deinem skript ist $PARAM nicht definiert.

Alex

Re: bash Skript mit Parametern

#3 Post by Alex »

Das Skript sieht also jetzt so aus:

#!/bin/bash
#Skript
sudo /sbin/befehl $1

und funktioniert aber trotzdem nicht. Hmmmm.... Was hab ich vergessen oder nicht bedacht?
Der Befehl wird ausgeführt, er beschwert sich aber immer noch, dass die Optionen fehlen.

Hmmm..
Gruss,
Alex

rattengift

Re: bash Skript mit Parametern

#4 Post by rattengift »

in der jetzigen fassung wird nur ein parameter an sudo weitergegeben, alle weiteren (falls vorhanden) werden abgeschnitten.
$1 bezeichnet den ersten parameter, $2 den zweiten usw. $# ist die zahl der übergebenen parameter. $* ist ein platzhalter für *alle* parameter, das wär in deinem fall wohl das richtige.

falls es immer noch nicht klappt: bau testweise "echo"-zeilen ein, zb "sudo /sbin/befehl $*". so siehst du, mit welchen parametern sudo wirklich aufgerufen wird.

Alex

Re: bash Skript mit Parametern

#5 Post by Alex »

Das Sternchen brachte die Lösung.

Super! Vielen Dank,
Gruss,
Alex

Post Reply