我有一个命令行程序,我想检查参数是2还是3.
if [ $# -eq 2 ] || [$# -eq 3]; then
....
fi
这是否是有效的比较?
如果输入参数为2,那么我需要强制将$ 2设置为定义值,将$ 3设置为$ 2作为用户输入的$ 2。
if [$# -eq 2]; then
$# = 3
$3 = $2
$2 = "c1"
fi
这是一项有效的作业吗?
答案 0 :(得分:1)
使用set
命令显式设置位置参数。请注意$#
会自动更新;你不需要(也不能)明确地设置它。
if [ $# -eq 2 ]; then
set -- "$1" fixed-value "$2"
fi