这是脚本:
file=$1
while getopts ":ivr" opt; do
case $opt in
i) iopt=1;;
v) vopt=1;;
r) ropt=1;;
\?)echo "invalid option: -$OPTARG" >
esac
done
shift $(($OPTIND-1))
所以我真正理解的唯一部分是 shift $(($OPTIND-1))
。有人可以解释其余的实际在做什么吗?上面是什么意思file=$1
?这是否意味着现在将“文件”一词分配给$1
列的值?
通过“$1 列”,我指的是这样一个事实,即在运行命令时,$0
分配给命令的实际名称,$1
是给出的第二个选项/参数,并且$2
是给出的第三个选项/参数。例如,如果您键入:
rm -r directory/randomfiles
然后$0
是 rm。-r
将是$1
。并且directory/randomfiles
会是$2
。那有意义吗?
总结一下:
file=$1
顶部是什么意思,有什么意义?- 代表什么
$opt
,它是什么意思? - 这是什么
iopt=1
意思,它有什么意义? - 如果我想像这样使用我的脚本:
MyScriptName -r [InsertFilenameHere]
我该怎么做?
我知道我在问很多问题-如果您能回答我的一些问题,或者指出我正确的方向,我将不胜感激!
提前致谢。