Shell 传递参数并检查其长度
我正在学习shell,我想了解如何使用命令行(不使用脚本)和检查参数长度将参数传递到变量中。例如,我想在命令行中键入10 20,并想在它们之间输出数字,我尝试了Shell 传递参数并检查其长度,shell,unix,Shell,Unix,我正在学习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 for((i=$1;i在原始提示下,位置参数($1,$2等)通常不设置。您可以设置它们,但这很奇怪。对于
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
for((i=$1;i在原始提示下,位置参数($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
或
您打算如何直接在命令行上获取“参数”?在这里/在您的交互提示下,您希望$1
和$2
包含什么?
$ 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