bashscript - parameter nr n ansprechen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Neon03
Beiträge: 90
Registriert: 13.03.2006 16:15:15

bashscript - parameter nr n ansprechen

Beitrag von Neon03 » 20.10.2006 09:53:54

hi also hier mein script

Code: Alles auswählen

#!/bin/bash

echo "Parameteranzahl=$#"
declare -i counter2=1

while [[ $counter2 -le $# ]]
do

	echo "Schleifendurchluaf NR. $counter2"

	echo "Parameter Nr. $counter2 ist $$counter2" <-- Problem
	counter2=$counter2+1
	


done


exit 0
ich weis halt nicht wie man ein parameter mit dem wert eines z.b. zaehlers aufrufen kann

bitte helft mir

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 20.10.2006 10:12:23


Neon03
Beiträge: 90
Registriert: 13.03.2006 16:15:15

Beitrag von Neon03 » 20.10.2006 10:15:21

super tipp -da kannst dus gleich lassen du ***

Neon03
Beiträge: 90
Registriert: 13.03.2006 16:15:15

Beitrag von Neon03 » 20.10.2006 10:15:54

hat noch jemand einen bissel genauern hinweis

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Beitrag von 123456 » 20.10.2006 10:49:57

Code: Alles auswählen

#!/bin/bash 
 
echo "Parameteranzahl=$#" 
declare -i counter2=1
parameter[1]=$1
parameter[2]=$2
parameter[3]=$3
 
while [[ $counter2 -le $# ]] 
do 
  echo "Schleifendurchluaf NR." $counter2 
  echo "Parameter Nr. $counter2 ist" ${parameter[$counter2]}
  counter2=$counter2+1 
done

exit 0
So funktioniert es. Keine Ahnung ob man das auch anders machen kann....

Neon03
Beiträge: 90
Registriert: 13.03.2006 16:15:15

Beitrag von Neon03 » 20.10.2006 11:23:18

super vielen dank, habs jetz durch andereas sript aufgerufen in dem ich halt einfach mit switch den wert von $1 veraendere vielen dank

Neon03
Beiträge: 90
Registriert: 13.03.2006 16:15:15

Beitrag von Neon03 » 20.10.2006 11:26:30

also nochmal zur zusammenfassung so siehts aufruf script aus

Code: Alles auswählen

#!/bin/bash
#by Marcus Herz

pfad='./qfailedmail2'

declare -i counter=1
maxparam=$#

while [[ $counter -le $maxparam ]]
do
	echo "Maschine: $1"
	`$pfad $1`
	shift
	counter=$counter+1

done


exit 0

NOCHMAL DANKE AN ALLE BETEILIGTEN

algol
Beiträge: 25
Registriert: 24.03.2006 08:18:16

Beitrag von algol » 20.10.2006 12:11:57

Nimm

Code: Alles auswählen

${!counter}
Das ist in bash die indirekte Variablenreferenzierung.

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 20.10.2006 18:00:12

super tipp -da kannst dus gleich lassen du ***
Magst du mir noch schnell erklären, wofür die Platzhalter stehen? Einen Grund für Beleidigungen habe ich meiner Meinung nach nicht geliefert, ich wusste ja nicht, dass du zu faul bist, dir solche Grundlagen selbst zu erarbeiten.

Für die Unterstellung, dass du mit deinem System umgehen zu lernen wünscht, bitte ich natürlich um Verzeihung und wünsche weiterhin viel Spaß mit dem System.

cu

Antworten