在shell中,如何获取包含空格的每个参数

时间:2013-12-31 05:10:06

标签: linux shell

使用空格分隔参数:

sh test.sh "a b c "

test.sh中,您应该如何使用for循环来获取参数a b c

2 个答案:

答案 0 :(得分:1)

作为一个论点:

for i in "$@"
do
    echo "$i"
done

作为单独的论点:

for i in $*  # Or $@
do
    echo "$i"
done

如果你调用:

./test.sh a b c

但是你希望所有三个参数都被视为一个,然后:

for i in "$*"
do
    echo "$i"
done

(实际上不需要循环; echo "$*"可以完成这项工作。)

答案 1 :(得分:0)

即便如此:

#!/bin/sh -e
for i; do
    echo :$i:
done

这相当于:for i in "$@"; do ...

所以你会得到:

$ sh script.sh 'a b c '
:a b c :