2013-02-05 38 views
0

shell腳本接受兩個參數,我有一個名爲createproject.sh需要創建shell腳本,接受參數

 #!/bin/bash 
    echo "Project Name :$1 " 
    echo "Group Id : $2 " 
    mvn archetype:generate -DgroupId=$2 -DartifactId=$1 -DarchetypeArtifactId=maven-  archetype-quickstart -DinteractiveMode=false 

    cd $1 
    mvn eclipse:eclipse -Dwtpversion=2.0 

一個腳本文件,我不得不通過命令來執行這個

sh createproject.sh projectname com.test.app 

哪裏projectname和com.test.app是需要項目名稱和包結構,但我需要做類似

sh createproject.sh -P projectname and -G com.test.app 

,使用戶可以爲-P被告知:項目名稱和-G:組ID。請讓我知道了變化

回答

2

檢查Bash的文檔有關Positional Parameters ...

位置參數是一個參數用一個或多個數字表示,而不是單個數字0.位置參數在調用時由shell的參數分配,可以使用set builtin命令重新分配。位置參數N可以被引用爲$ {N},或者當N由單個數字組成時被作爲$ N引用。位置參數不能賦值給賦值語句。 set和shift builtins用於設置和取消設置(參見Shell Builtin命令)。當執行shell函數時,位置參數將被臨時替換(請參閱Shell函數)。

當一個由多位數字組成的位置參數被展開時,它必須用大括號括起來。