$# 传给脚本的参数个数
$1 脚本的第一个参数
$2 脚本的第二个参数
$@ 传给脚本的所有参数("$1" "$2" "$3" .... "$n")
$* 传给脚本的所有参数(一个字符串:"$1 $2 $3 $4 .... $n")
$$ 脚本运行的进程ID号
$0 脚本的名称
$? 退出状态,0表示没有错误,非0表示有错误
getopt用法1
如果不想要短选项,只需要用空字符串,不能删除-o,会出现问题。
ARGS=`getopt -o "" -a -l pyname:,datadir: -- "$@"`
if [ $? != 0 ]; then
echo "error params"
exit 1
fi
eval set -- "${ARGS}"
while true;
do
case "$1" in
--pyname)
pyname=$2
echo $2
shift 2
;;
--datadir)
datadir=$2
echo $2
shift 2
;;
--)
shift
break
;;
*)
echo "Internal error"
exit 1
;;
esac
done