这是脚本:有人可以用简单的英语解释这个简短的getopts bash脚本吗? (UNIX)
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))
所以,唯一的一部分,我真的明白是移位$(($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]
我该怎么办呢?
我知道我在问一吨 - 如果你能回答我的一些问题,或者指出我的方向正确,我会非常感激!
在此先感谢。
+1指定的纯英文部分,否则会有人使用POSIX :) – nsd