1

Shell 脚本接受两个参数,我有一个名为 createproject.sh 的脚本文件

     #!/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 。请让我知道更改

4

2 回答 2

15

例子:

#!/bin/bash
echo "the $1 eats a $2 every time there is a $3"
echo "bye:-)"

来源 - 维基

于 2013-02-05T12:59:31.880 回答
2

检查 Bash 关于位置参数的文档...

位置参数是由一个或多个数字表示的参数,而不是单个数字 0。位置参数在调用时从 shell 的参数分配,并且可以使用 set 内置命令重新分配。位置参数 N 可以引用为 ${N},或者当 N 由单个数字组成时引用为 $N。位置参数不能用赋值语句赋值。set 和 shift 内置命令用于设置和取消设置它们(请参阅 Shell 内置命令)。执行 shell 函数时,位置参数会被临时替换(请参阅 shell 函数)。

当扩展包含多个单个数字的位置参数时,必须将其括在大括号中。

于 2013-02-05T12:59:00.833 回答