linux - 如何在 Linux shell 中对变量进行除法?

当我在我的 shell 中运行如下命令时,它会返回一个 expr: non-integer argument 错误。有人可以向我解释一下吗?

$ x=20
$ y=5
$ expr x / y 
expr: non-integer argument

最佳答案

这些变量是shell变量。要将它们作为参数扩展到另一个程序(ie expr),您需要使用 $ 前缀:

expr $x / $y

它提示的原因是因为它认为你正在尝试对字母字符进行操作(ie 非整数)

如果您使用的是 Bash shell,则可以使用表达式语法获得相同的结果:

echo $((x / y))

或者:

z=$((x / y))
echo $z

https://stackoverflow.com/questions/18093871/

相关文章:

python - 如何使用 Python 将整个文件目录复制到现有目录中?

python - 如何使用 brew 安装的 Python 作为默认 Python?

ruby - 即使在使用 rvm pkg install zlib 后也无法加载此类文件 - zli

python - 解释 Python 入口点?

python - 何时以及为什么应该使用命名元组而不是字典?

python - 名称错误 : name 'reduce' is not defined in Py

linux - 在 tmux 客户端之间移动窗口

linux - 使用命令行在启动后重定向进程的 STDERR/STDOUT?

linux - 如何在文件中搜索多行模式?

windows - Microsoft Windows 的终端多路复用器 - GNU Screen