expr 实用程序计算表达式并将结果写入标准输出。
评估表达式并打印结果的规范 ZSH 方法是什么?
解决方案:
我相信答案是使用 eval:
例如:
% eval 'export FOO=baz'
% echo $FOO
baz
Run Code Online (Sandbox Code Playgroud)
我还发现了一个类似的超级用户问题“zsh 运行存储在变量中的命令?”
作为expr
一个独立的命令,它可以zsh
像任何其他命令一样使用,尽管许多运算符可能需要转义或引用:
% expr 7 * 2
expr: syntax error
% expr 7 '*' 2
14
% expr 8 < 9
zsh: no such file or directory:
% expr 8 \< 9
1
Run Code Online (Sandbox Code Playgroud)
如果您只想使用 zsh 内置函数,则没有单一的全能替代方案。
大多数算术表达式都可以用 echo $(( exp ))
% echo $(( 7 * 2 ))
14
% echo $(( 8 < 9 ))
1
Run Code Online (Sandbox Code Playgroud)
一些字符串操作可以用参数扩展代替。(注意expr
从 1zsh
开始计数位置,而从 0 开始)
% str='hello world'
% expr substr $str 4 5
lo wo
% echo ${str:3:5}
lo wo
% expr length $str
11
% echo $#str
11
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1605 次 |
最近记录: |