我正在学习shell,我想了解如何使用命令行(不使用脚本)和检查参数长度将参数传递给变量。例如,我想在命令行中键入10 20并想要在它们之间输出数字,我试过
for((i=$1;i<$2;i++))do echo "$1"; done // or
a=$1
b=$2
for((i=$a;i<$b;i++))do echo "$1"; done
但没有任何作用,我也想检查参数的数量,但无法找到并获取它,因为我提到我想使用命令行不使用脚本并执行它们
答案 0 :(得分:0)
在原始提示下,通常不会设置位置参数($1
,$2
等)。你可以设置它们,但这很奇怪。对于您的情况,您可以这样做:
$ set 10 20 # set $1 and $2
$ i=$1
$ while test $i -lt $2; do echo $((i++)); done
10
11
12
13
14
15
16
17
18
19
或
$ foo() { i=${1:?}; while test $i -lt ${2:?}; do echo $((i++)); done; }
$ foo 10 20
10
11
12
13
14
15
16
17
18
19