Bir işlev veya uygulama sıfırdan fazla argüman içeriyorsa, her zaman son bir argüman olur.
Seçenek işaretini ve değer çiftlerini aşağıdaki gibi okumak istiyorsanız:
$ ./t.sh -o output -i input -l last
Değişken sayıda seçenek / değer çifti kabul etmek istiyorsanız,
Ve büyük istemiyorsanız "eğer .. o zaman .. başka .. fi" ağacı,
Ardından sıfır olmayan ve hatta argüman sayımını kontrol ettikten sonra,
Gövde olarak bu dört değerlendirme ifadesi ile bir süre döngüsü yazın, ardından döngüden geçen her geçişte belirlenen iki değeri kullanarak bir vaka ifadesi izleyin.
Kodlamanın zor kısmı burada gösterilmektedir:
#!/bin/sh
# For each pair - this chunk is hard coded for the last pair.
eval TMP="'$'$#"
eval "PICK=$TMP"
eval TMP="'$'$(($#-1))"
eval "OPT=$TMP"
# process as required - usually a case statement on $OPT
echo "$OPT \n $PICK"
# Then decrement the indices (as in third eval statement)
:<< EoF_test
$ ./t.sh -o output -i input -l last
-l
last
$ ./t.sh -o output -l last
-l
last
$ ./t.sh -l last
-l
last
EoF_test