我有功能
calc() {echo "${1}"|bc -l;}
它适用于2 + 2但是当我想要类似的东西10 ^ 4
calc 10^4
zsh: no matches found: 10^4
是的我和bc -l </ p>一样
>>echo 10^4|bc -l
zsh: no matches found: 10^4
但为了解决这个问题,我添加了引号
>>echo "10^4"|bc -l
10000
如何在功能中实现它?如果我做"\"${1}\""
它只会回显字符串......
答案 0 :(得分:3)
^
中启用EXTENDED_GLOB
选项时, zsh
是一个特殊字符。它在您的函数被调用之前已经扩展,因此函数中没有可能的。
您可以完全停用EXTENDED_GLOB
:
setopt no_extended_glob
或提供交互式使用的别名,该别名将扩展为noglob calc
,防止文件名扩展:
alias calc='noglob calc'