相关疑难解决方法(0)

如何比较Bash中的两个浮点数?

我正在努力比较bash脚本中的两个浮点数.我有变量,例如

let num1=3.17648e-22
let num2=1.5
Run Code Online (Sandbox Code Playgroud)

现在,我只想对这两个数字进行简单的比较:

st=`echo "$num1 < $num2" | bc`
if [ $st -eq 1]; then
  echo -e "$num1 < $num2"
else
  echo -e "$num1 >= $num2"
fi
Run Code Online (Sandbox Code Playgroud)

不幸的是,我对num1的正确处理存在一些问题,这可能是"电子格式".:(

任何帮助,欢迎提示!

floating-point bash comparison numbers

125
推荐指数
10
解决办法
15万
查看次数

shell 中的算术比较

我想比较 shell 脚本 (sh) 中的两个数值,但它不起作用:

#!/bin/sh
let a=30
let b=100
let x=$a-$b
echo $a $b $x
[ $a < $b ] && { echo ok; }
Run Code Online (Sandbox Code Playgroud)

输出:

30 100 -70
./x: line 6: 100: No such file or directory
Run Code Online (Sandbox Code Playgroud)

shell

3
推荐指数
1
解决办法
1326
查看次数

从 bash 脚本检查 vim 版本和 python 支持

我有一个 bash 脚本,它依赖vim于至少版本7.4并与 python 一起安装。我需要检查上述条件是否匹配,如果不匹配则退出并要求用户更新他们的 vim。

到目前为止,我能想到的就是下面的内容

has_vim = command -v vim >/dev/null  

if ! $has_vim; then
  echo "must have vim installed."
  exit 1
fi

// Here I want do as the following pseudo code
vim_info = $(vim --version | grep python)

// suggest me if there is another way
vim_version = // find version info from $vim_info
has_python_support = // find python support from $vim_info

if ! $vim_version >= 7.4 && ! has_python_support; then
  echo …
Run Code Online (Sandbox Code Playgroud)

vim bash

2
推荐指数
1
解决办法
1181
查看次数

标签 统计

bash ×2

comparison ×1

floating-point ×1

numbers ×1

shell ×1

vim ×1