Como expr
é apenas um comando independente, ele pode ser usado com zsh
da mesma forma que qualquer outro comando, embora muitos operadores precisem ser ignorados ou citados:
% expr 7 * 2
expr: syntax error
% expr 7 '*' 2
14
% expr 8 < 9
zsh: no such file or directory:
% expr 8 \< 9
1
Se você quiser usar apenas o zsh builtins, não há uma alternativa única.
A maioria das expressões aritméticas pode ser manipulada com echo $(( exp ))
% echo $(( 7 * 2 ))
14
% echo $(( 8 < 9 ))
1
Algumas das operações de string podem ser substituídas por expansões de parâmetros. (Observe que expr
conta posições de 1, enquanto zsh
começa com 0)
% str='hello world'
% expr substr $str 4 5
lo wo
% echo ${str:3:5}
lo wo
% expr length $str
11
% echo $#str
11