2012-02-27 12 views
22

chcę zadzwonić skrypt bash jak tenargumenty analizy: po getopts

$ ./scriptName -o -p -t something path/to/file 

to jest tak daleko jak mogę

#!/bin/bash 

o=false 
p=false 

while getopts ":opt:" options 
do 
    case $options in 
     o) opt1=true 
     ;; 
     p) opt2=true 
     ;; 
     t) opt3=$OPTARG 
     ;; 
    esac 
done 

ale jak mogę uzyskać path/to/file?

Odpowiedz

33

można zrobić coś takiego:

shift $(($OPTIND - 1)) 
first_arg=$1 
second_arg=$2 

po pętli wyczerpał.

+2

Czy w pierwszym wierszu można zapisać 'shift $ ((OPTIND - 1))' - tj. Tracąc znak dolara wewnątrz nawiasów? – Armand

+0

Armand, więc wygląda na: http://www.tldp.org/LDP/abs/html/arithexp.html –

Powiązane problemy