我想在c中编写自己的bash编译器命令。事实上,我喜欢在这个bash脚本中使用gcc编译器,但只是修改一下。
所以,我想要像-help -backup这样的可选命令。但我也希望-o filename作为强制输入。我怎么做?我想读-o filename。但问题似乎在于我对可选参数和强制参数的理解。我如何区分这两者?这是我现在写的代码(非常感谢你看看):
#!/bin/bash
for i in $@
do
case $i in
-help)
echo "This is how you use this command."
;;
-backup)
cp ./* ./backup
;;
*)
echo "Usage is this"
exit
;;
esac
done
答案 0 :(得分:1)
您不能使用for
循环参数,因为您的一个参数需要一个值。使用$1
和shift
。
对于必需参数,为强制变量设置默认值(例如:空字符串),如果在参数解析后没有设置它,则表示它已丢失。
此外,正如@etuardu建议您可以使用getopt。