这是一个简单的脚本,我想以某种方式读取第一个和第二个参数,而不读取第二个参数,并抛出错误说明传递值。
这是脚本//我要克隆git
$cat test.sh
#!/usr/bin/env bash
clone () {
git clone $2
}
case $1
in
clone) clone ;;
*) echo "Invalid Argument passed" ;;
esac
$./test.sh clone https://github.com/sameerxxxxx/test.git/
fatal: You must specify a repository to clone.
usage: git clone [<options>] [--] <repo> [<dir>]
-v, --verbose be more verbose
-q, --quiet be more quiet
--progress force progress reporting
答案 0 :(得分:2)
调用函数clone
时,必须将参数传递给它。
clone() {
git clone "$1"
}
...
clone) clone "$2";;
请注意,函数的位置参数与脚本本身分开编号。
答案 1 :(得分:0)
#!/usr/bin/env bash
clone () {
git clone $1
}
case $1
in
clone) clone $2 ;;
*) echo "Invalid Argument passed" ;;
esac
https://github.com/sameerxxxxx/test.git/
是传递给test.sh
的第二个参数,因此clone $2 ;;
而不是clone ;;
。
对于clone $2
,$2
是传递给函数clone
的第一个参数,因此git clone $1
而不是git clone $2
。