为什么这个简单的脚本在内联和脚本中表现不同?

时间:2015-03-29 18:24:54

标签: linux bash shell

我有一个简单的bash脚本用于文件列表:

$ cat process.sh
for i in *; do echo $i; done
$

然后我跑:

$ ./process.sh
a
b
c
d
process.sh
$

$ . ./process.sh










$

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










$

我看过Why does Bash behave differently when called as sh?,它解释了内联命令使用sh而不是bash - 在这种情况下是通配符非POSIX吗?

  • 执行相同代码时,为什么会出现不同的行为?
  • 如何让这个例子有效?
  • 还有其他需要注意的案例吗?

1 个答案:

答案 0 :(得分:0)

解决。原因是for别名不正确。谢谢你的回复。