tis*_*sek 44 shell quoting wildcards
这将是一个简单的方法,但在我的记忆中,在编写 shell 脚本时,使用双引号将允许扩展通配符和变量。
但是在下面的代码中:
#!/bin/sh
echo *.sh
echo "*.sh"
echo '*.sh'
echo $LANG
echo "$LANG"
echo '$LANG'
Run Code Online (Sandbox Code Playgroud)
我得到这个结果:
bob.sh redeployJboss.sh
*.sh
*.sh
en_US.utf8
en_US.utf8
$LANG
Run Code Online (Sandbox Code Playgroud)
所以单引号可以防止 glob AND 变量扩展,但双引号只允许变量扩展而不允许 globbing?
我可以使用任何引用模式吗?
Flu*_*lup 41
你是对的:通配符在单引号或双引号中都不起作用。但是,您可以使用双引号字符串插入通配符:
$ echo "你好世界" *.sh "再见世界" 你好世界 [文件列表] 再见世界