2011-11-09 25 views
2

我是Linux新手腳本,我發現語法有點棘手。Linux腳本語法的良好參考? (如果然後while循環語法)

有沒有人沒有一個很好的參考,它描述了應該寫入Linux命令的方式,是否有某種Linux腳本規範呢?

我試圖得到這個工作:

from=$1 
to=$2 

rm SelectedSummedDatFiles 
mkdir SelectedSummedDatFiles 

ls *summed.dat > allSummedDatFiles 


while read summedDatFile 

    do 
    echo $summedDatFile 
    number=`echo $summedDatFile | grep -o "[0-9]\{6\}"` 

    if [ $number -le $to ] && [ $number -ge $from ] 
    then cp $summedDatFile SelectedSummedDatFiles/$summedDatFile 
    fi 

done < allSummedDatFiles 
+2

看看'男人bash'(假設'慶典'是你使用的shell)。 – NPE

+0

通常「男人bash」或「男人sh」是一個很好的起點。不過,我建議你看看http://www.freeos.com/guides/lsst/這是一個關於shell腳本的非常好且簡單的教程。 – BigMike

回答

0

我會做這樣的:

from=$1 
to=$2 

# rm SelectedSummedDatFiles # should this be a rmdir? 
mkdir SelectedSummedDatFiles 

for summedDatFile ind *summed.dat; do 
    echo "$summedDatFile" 
    number=`echo "$summedDatFile" | grep -o "[0-9]\{6\}"` 

    if [ "$number" -le "$to" ] && [ "$number" -ge "$from" ]; then 
     cp "$summedDatFile" SelectedSummedDatFiles/"$summedDatFile" 
    fi 
done 

但我沒有看到哪個方式,它不工作...

0

如果您正在使用bash的可以做

$ help if 
$ help while 

或只是

$ help 

,以獲得完整的語法