【发布时间】:2017-06-14 12:27:49
【问题描述】:
相关:Stop shell wildcard character expansion?
我过去曾在 bash 中使用 set -f 来防止全局扩展 - 但是这似乎不再适用于我的 Mac:
$ cat script.sh
#!/bin/bash
echo $0
i=1
for var in $@
do
echo "$i => $var"
((i++))
done
$ set -f
$ ./script.sh *
./script.sh
1 => program
2 => program.cpp
3 => script.sh
对于set -f,我希望输出是
$ ./script.sh *
./script.sh
1 => *
我缺少什么以及如何停止扩展。
【问题讨论】:
-
引用
$@,set -f只对当前shell有效。
标签: bash macos glob wildcard-expansion