遇到一个问题 比如我只需要取的脚本传入的参数的从第二个开始的到后面的参数 怎么取
$@是取的所有的参数 现在需要排除第1个参数
刚开始想能不能用while循环把所有参数循环取出到新的变量 从第二个开始 这样就可以了
#!/bin/bash
num1=$1
num2=$2
num3=$3
num4=$4
command=""
for ((i=2;i<=$#;i++))
do
echo ${!i}
done
#echo $num1$num2$num3$num4
#echo $@
for ((i=2;i<=$#;i++))
do
echo ${!i}
done
像这个循环打印的结果就是直接从第二个开始打印出来
这样从第二个开始打印 不是我们想要的结果
考虑用shift指令
#!/bin/bash
num1=$1
num2=$2
num3=$3
num4=$4
command=""
#echo $num1$num2$num3$num4
#echo $@
i=`expr $# - 2`
echo $#
while [ $# -ne $i ]
do
command=$(echo $@)
shift
done
echo "###################################"
echo $command
这样 定义个全局变量command 循环的最后一次更新的内容就是我们想要的数据
完成 这样就得到我们要的变量