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。请让我知道更改
答案 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函数)。
当展开由多个数字组成的位置参数时,必须将其括在大括号中。