2009-10-08 12 views

cevap

153

kullanın üretir

#!/bin/bash 
echo $1 
shift 
echo $1 $2 

shifttest.sh shift yerleşik komutu "yemek" argümanları. Daha sonra alt işlemi çağırın ve kalan tüm argümanları içerecek şekilde "[email protected]" argümanını iletin. Alıntıların listelenmesinin uygun şekilde alıntılanmasına neden olduklarından, alıntıların dikkat edilmesi gerekir.

açık yeni dosyanın ve düzenlemek: Eğer/işlemine parametreleri seçmenize böyle geçebilir böylece

+18

aslında "$ @" daha güvenli $ * – pixelbeat

+4

Fark nedir? –

+1

@pixelbeat: Teşekkürler, iyi yakalayın. Düzenledim. @ Łukasz Lew: kılavuzdaki bağlantılı sayfaya bakınız. :) Temel olarak, daha iyi alıntı yapıyor. – unwind

18

darbe kaydırma komutu kullanır shifttest.sh: 1 2 3

1 
2 3 
7

bash, subsetting parametreleri (Subsets and substrings bakınız) destekleyen vim r.sh

echo "params only 2 : ${@:2:1}" 
echo "params 2 and 3 : ${@:2:2}" 
echo "params all from 2: ${@:2:99}" 

run it :

chmod u+x r.sh 
./r.sh 1 2 3 4 5 6 7 8 9 10 

sonucudur:

params only 2 : 2 
params 2 and 3 : 2 3 
params all from 2: 2 3 4 5 6 7 8 9 10