需要创建接受参数的shell脚本

时间:2013-02-05 12:56:42

标签: linux

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

2 个答案:

答案 0 :(得分:13)

在发布问题之前可能会有一些谷歌搜索会有所帮助...

http://how-to.wikia.com/wiki/How_to_read_command_line_arguments_in_a_bash_script

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

答案 1 :(得分:2)

查看Bash关于Positional Parameters ...

的文档
  

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

     

当展开由多个数字组成的位置参数时,必须将其括在大括号中。