2013-10-14 88 views
0

我正在編寫一個bash腳本,可以在時間間隔內進行過濾。我如何case它們,所以如果「from」參數存在和「to」參數不存在,那麼它將執行僅過濾第一個參數的函數。例如:myscript.sh --from 18:00 --to 20:00如何「處理」一個參數

我試過如下:

#!/bin/bash 
FROM_TIME_ARGUMENT=$1 
FROM_TIME=$2 

TO_TIME_ARGUMENT=$3 
TO_TIME=$4 

FILTER_TIME() 
{ 
    #... i don't know 
} 

FILTER_TIME 

,我就死在爲它編寫的情況。

+0

你試過用[getopts](http://wiki.bash-hackers.org/howto/getopts_tutorial)嗎? – Mureinik

回答

0

你想要的是getopt函數。見'男人getopt'或谷歌。

while getopts ab: ooptdo 
case $oopt in 
    a) var1=1;; 
    b) var2=$OPTARG;;  
    esac 
done 

將遍歷您的選項「-a -b xyz」。