Glob的参数(带空格)

sid*_*yll 1 bash arguments

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

Folder One
Folder Two
Folder Three
script
Run Code Online (Sandbox Code Playgroud)

脚本如下:

#!/bin/bash
for i in $@
do
    echo $i
done
Run Code Online (Sandbox Code Playgroud)

运行时:

./script *
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

Folder
One
Folder
Two
Folder
Three
script
Run Code Online (Sandbox Code Playgroud)

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

Folder One
Folder Two
Folder Three
script
Run Code Online (Sandbox Code Playgroud)

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

Ale*_*sky 5

试试这个:

#!/bin/bash
for i in "$@"
do
    echo $i
done
Run Code Online (Sandbox Code Playgroud)