在 db2inst1
的账号下,可以用 db2 ? sql<xxx>
命令来查看 <xxx>
错误代码的含义,例如: db2 ? sql952
。但是今天我发现在 zsh
下,该命令会报错,如下:
➜ ~ echo $0 # 查看当前shell
-zsh
➜ ~ db2 ? sql952
zsh: no matches found: ?
显然,zsh没有把 ?
当作 db2
命令的参数,而是把它当作了命令行的参数。
注:个人倾向于第2种方法。一来不用每次命令加前缀,二来匹配的结果能够保持高亮。
在命令前面加上 noglob
前缀,如下:
noglob db2 ? sql952
setopt no_nomatch
与此类似的是 grep
命令:
➜ ~ grep -ir hi /tmp/temp
/tmp/temp/aaa.txt:hi Tom, bye!
/tmp/temp/aaa.txt:hi Jerry, bye!
/tmp/temp/aaa.txt:hi there
如果要查找 hixxxbye
,用正则表示为: hi.*bye
,则在zsh下会报错:
➜ ~ grep -ir hi.*bye /tmp/temp
zsh: no matches found: hi.*bye
使用方法1或者方法2之后,就OK了:
➜ ~ grep -ir hi.*bye /tmp/temp
/tmp/temp/aaa.txt:hi Tom, bye!
/tmp/temp/aaa.txt:hi Jerry, bye!
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务