有关shell脚本多参数的实例教程,Shell最多支持多少个参数?Shell最多可以输入多少个参数测试例子,求出Shell脚本中可输入参数的最大个数。 在shell脚本编写过程中,有关参数输入方法。
譬如,sh 1.sh 10 20,在执行1.sh这个脚本中,10即为第一个参数,20即为第二个参数。
编写了如下脚本,可求出Shell脚本中可输入参数的最大个数。
思路:
第一个脚本1.sh
#!/bin/bash
i=0 echo 0 > currnumber while true do i=$[$i+1] sh 2.sh $i if [ $? -ne 0 ];then echo $i > maxnumber exit 1 else sed -i '1s/$/& '$i'/' currnumber fi done
该脚本提供了一个死循环,$i指的是可输入参数的个数,2.sh用于判定给定参数的个数是否合理,如果合理,则将该数值追加到currnumber这个文件中,如果不合理,则代表$i-1是shell能接受的最大参数个数。则将该数值输出到maxnumber文件中。
#!/bin/bash
rm -f 1.test touch 1.test num=$1 echo "#!/bin/bash" > 1.test echo "sh 3.sh" >> 1.test for ((i=1; i<=$num; i++)) do sed -i '2s/$/& '$i'/' 1.test done sh 1.test
脚本2实现的功能是将1,2,3...$i作为3.sh的输入参数,同样,sed -i '2s/$/& '$i'/' 1.test实现的是将1,2,3...n输出到一行。譬如如果$num=10,则1.test的内容如下所示:
#!/bin/bash
sh 3.sh 1 2 3 4 5 6 7 8 9 10
脚本3.sh
#!/bin/bash
echo 0 > 2.test num=$# for ((i=1;i<=$num;i++)) do sed -i '1s/$/& '$i'/' 2.test shift 1 done
该脚本实现的是原样输出输入参数,并将该输入参数输出到2.test中。同样,sed -i '1s/$/& '$i'/' 2.test实现的是追加参数到一行。
脚本:
#!/bin/bash
(责任编辑:IT)while true do cat 2.test sleep 30 done |