我在使用 Bash 之前一直在使用 PowerShell,在 PowerShell 上通配符可以用于很多很多的命令。
但是 Bash 上的通配符好像不是这样,目前看到的所有资料好像都是在将 glob 用于路径名。
而且 echo *
居然会直接显示当前目录下的所有内容,给人的感觉就是所有的字符串只要有*
,好像都会首先被解释为路径通配符。
在 bash 中 glob 只能用于路径吗?
如果不是的话,那还用于什么场合呢?
注意:这里指的是普通的 glob,而非 extglob,我知道后者能用于条件表达式的=和!=
搞清楚了
1
codehz 2021-05-25 11:18:32 +08:00 via Android 1
Linux 的 glob 是 shell 处理的
Windows 是直接传原始命令行 ( |
2
hsfzxjy 2021-05-25 11:45:45 +08:00 via Android 1
echo '*' 就不会展开了
|
3
napsterwu 2021-05-25 13:24:16 +08:00 via iPhone
*是特殊字符,需要加斜杠转义或者用单引号括起来
|