Shell Scripts: Array Slice?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
shevegen
Beiträge: 416
Registriert: 30.03.2004 00:32:53

Shell Scripts: Array Slice?

Beitrag von shevegen » 27.04.2007 10:34:59

$*
gibt einem alle Parameter.

Wie kann ich nun alle Parameter AUSSER dem ersten erhalten? Also von [1] bis Array Ende

Ich weiss leider nicht wie ich in shell scripts slice

ulf
Beiträge: 39
Registriert: 22.09.2002 13:00:52

Re: Shell Scripts: Array Slice?

Beitrag von ulf » 27.04.2007 11:10:18

shevegen hat geschrieben:$*
gibt einem alle Parameter.

Wie kann ich nun alle Parameter AUSSER dem ersten erhalten? Also von [1] bis Array Ende

Ich weiss leider nicht wie ich in shell scripts slice
Laut Advanced Bash-Scripting Guide (siehe http://tldp.tuxhilfe.de/) geht's so:

Code: Alles auswählen

arrayZ=( one two three four five five )
echo ${arrayZ[@]:1}
echo ${arrayZ[@]:1:2}
d.h. so sollte es für $* gehen:

Code: Alles auswählen

set a b c
echo ${@:2:2}
Gruß,
Ulf

Benutzeravatar
shevegen
Beiträge: 416
Registriert: 30.03.2004 00:32:53

Beitrag von shevegen » 12.05.2007 23:30:28

danke

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 12.05.2007 23:40:18

Solltest du den ersten Wert nicht mehr brauchen reicht auch ein:

Code: Alles auswählen

shift
z.B.:

Code: Alles auswählen

s@hosenscheisser:~$ function meintest {
> echo $*
> echo $#
> shift
> echo $*
> echo $#
> }
s@hosenscheisser:~$ meintest asd asd asdyxc
asd asd asdyxc
3
asd asdyxc
2
s@hosenscheisser:~$
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Antworten