我的代码:
#!/bin/bash for i in $@; do echo $i; done;
运行脚本:
# ./script 1 2 3 1 2 3
所以,我想跳过第一个参数,得到:
# ./script 1 2 3 2 3
r6hnlfcb1#
使用偏移参数展开
#!/bin/bash for i in "${@:2}"; do echo $i done
$ func(){ for i in "${@:2}"; do echo "$i"; done;}; func one two three two three
7y4bm7vi2#
使用shift命令:
shift
#!/bin/bash FIRST_ARG="$1" shift for i in "$@"; do echo $i; done;
它跳过了第一个参数:
nqwrtyyt3#
查看bash手册页中的参数扩展。
#/bin/bash for i in "${@:2}" do echo $i done
q9yhzks04#
你可以用一个变量来测试它是否是第一个参数,类似这样(未经测试):
#!/bin/bash FIRST=1 for i in $@ do if [ FIRST -eq 1 ] then FIRST=0 else echo $i fi done
4条答案
按热度按时间r6hnlfcb1#
使用偏移参数展开
示例
7y4bm7vi2#
使用
shift
命令:它跳过了第一个参数:
nqwrtyyt3#
查看bash手册页中的参数扩展。
q9yhzks04#
你可以用一个变量来测试它是否是第一个参数,类似这样(未经测试):