如何编写 bash 脚本来标记每个参数,如下所示:

How to write a bash script to label each argument like this:

$ bash argcnt.sh this is a "real live" test
is
real live

(只显示成对参数)

因为,我只知道这样:

#!/bin/bash
echo ""
echo ""

您似乎想要打印给脚本的所有其他参数。然后,您可以在 $@:

上创建一个循环
#!/bin/bash

# idx will be 2, 4, 6 ... for as long as it's less than the number of arguments given
for ((idx = 2; idx < ${#@}; idx += 2))
do
    # variable indirection below:
    echo "${!idx}"
done

注意:您也可以使用 $# 而不是 ${#@} 来获取 $@ 中的元素数。不知道一般人更喜欢哪一款

如果你想要打印每隔一个参数,从第二个开始,你可以使用 shift:

$ cat argcnt
#!/bin/bash
while shift; do printf '%s\n' ""; shift; done

$ ./argcnt this is a "real live" test foo
is
real live
foo