Mein Shell-Name ist test.sh, und ich möchte alle Parameter ausgeben, die an test.sh übergeben werden, aber ich finde, dass mein Code nicht gut funktionieren kann.Wie Skriptparameter sequenziell drucken?
#!/bin/bash
i=1
num=$#
while [ $i -le $num ]; do
echo $($i)
((i++))
done
Als ich ./test.sh -a -b -c
laufen, meine erwartete Ausgabe ist:
-a
-b
-c
aber es sagt mir
./test.sh: line 5: 1: command not found
./test.sh: line 5: 2: command not found
./test.sh: line 5: 3: command not found
Wie kann ich dieses Problem beheben und Ausgabe aller Parameter mit echo
Befehl?
'echo I' $ nur Ausgang' 1 2 3', aber meine Erwartung ist '-a -b -c'. – user6064254
Eigentlich möchte ich 'echo $ ($ i)' verwenden, um das gleiche Ergebnis mit 'echo $ 1 $ 2 $ 3' zu erreichen, aber ich finde 'echo $ ($ i) 'ist ein ungültiger Befehl. – user6064254