【问题标题】:Arguments from Glob (with spaces)来自 Glob 的参数(带空格)
【发布时间】:2025-11-28 10:35:02
【问题描述】:

继续我与参数和空格的斗争,考虑与其他 3 个目录 目录和脚本:

Folder One
Folder Two
Folder Three
script

脚本如下:

#!/bin/bash
for i in $@
do
    echo $i
done

运行时:

./script *

我得到这个输出:

Folder
One
Folder
Two
Folder
Three
script

有没有办法得到这个输出:

Folder One
Folder Two
Folder Three
script

换句话说,不要在空格上拆分参数$@

【问题讨论】:

    标签: bash arguments


    【解决方案1】:

    试试这个:

    #!/bin/bash
    for i in "$@"
    do
        echo $i
    done
    

    【讨论】:

    • 谢谢。我正要问你为什么它有效,但man bash 详细解释了它。