首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Bash中如何使用浮点数运算?

问题 我尝试在 Bash 脚本中将两个图像的宽度相除,但是 bash 给了我 0 作为结果: RESULT=$(($IMG_WIDTH/$IMG2_WIDTH)) 我确实研究了 Bash 指南,我知道我应该使用...bc,在互联网上的所有示例中他们都使用 bc。...回答 Bash shell 本身并不直接支持浮点数运算。Bash 是基于整数的,它的算术扩展 $(( expression )) 主要用于整数运算,并且不会自动处理浮点数。...如果你想在 Bash 脚本中进行浮点数运算,你可以借助一些外部工具或命令,如 bc(一款基础计算器程序)、awk 或 python(通过命令行调用)等。...如果你发现系统中没有预装 bc,需要先安装再使用。 使用 awk 命令 使用 awk 来进行两个数的除法运算,可直接从管道输入中读取这两个数。

16310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    bash脚本编程

    shell:弱类型编程语言 强:变量在使用前,必须事先声明,甚至还需要初始化: 弱类型编程语言:变量用时声明,甚至不区分类型:(默认为字符) 显式转换,隐式转换 1+c=(ASCII) 10:16bit...shell进程, 命令行中启动的脚本就会继承当前shell环境变量 系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量。...练习:写一个脚本: 1.使用一个变量保存一个用户名 2.删除此变量中的用户,且一并删除其家目录 3.显示“用户删除完成”类的信息。...$[算术运算表达式] c=[$a+$b] 3....$((算术运算表达式)) c=(($a+$b) 4.expr 算术运算表达式 (注意表达式中各操作数及运算符之间要有空格) c=`expr $a + $b` 提前结束脚本 exit:退出脚本

    1.3K30

    Shell 脚本避坑指南(一)

    基于这个原因,如果是让变量进行算术运算时,不能像在其他的编程语言中那样直接写算术运算符。这会让 bash 解释为对 string 的操作,而不是对数字的操作。...,这种方式允许在声明时进行算术运算,同时也支持将其他值赋值给此变量。...循环 while list-1; do list-2; done Bash 中 while 语法就是这样,在 while 关键字后是一个序列(list),可以是一个或多个表达式/语句, 需要注意的是...bash 中的算数计算 这部分的内容大家想必常会用到。我来介绍几种常用的方法: 算术扩展 Bash 中的扩展一共有 7 种,算术扩展只是其中之一。...总结 本篇中,我们主要聊了 bash shell 中的变量声明,循环,数学运算以及 bash shell 的调试。是否对你有所启发呢?欢迎留言交流。 注:本文仅讨论 Bash Shell

    66930

    【Shell】算术运算符、流程控制、函数使用、数组以及加载其它文件的变量

    文章目录 1.6 Shell算术运算符 1 简介 2 例子 1.7流程控制 1 if else 关系运算符 2 for 循环 3 while 语句 4 无限循环 5 case(switch) 6 跳出循环...原生 bash 不支持 简单的数学运算,但是可以通过其他命令来实现,例如 expr 。 expr 是一款表达式计算工具,使用它能完成表达式的求值操作。...while 循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。...其格式 为: 需求: 计算 1~100 的和 运行脚本,输出: 使用中使用了 Bash let 命令,它用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量,...下面的脚本提示输入 1 到 4 ,与每一种模式进行匹配: 输入不同的内容,会有不同的结果,例如: 6 跳出循环 在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环, Shell 使用两个命令来实现该功能

    3.1K30

    shell基础 — 基本语法

    2.1 使用 expr 命令对算术表达式求值   expr 命令将它的参数当做一个表达式来求值,可以用来进行数学运算。如下: #!...三、使用 bash 计算器在shell脚本中进行浮点运算   可以发现,bash 中的基本算术运算只支持整数运算,要进行浮点运算的话,需要另寻方法,bash 计算器就是处理浮点运算的一个常见方案。...可以使用 yum 安装 bc 命令: sudo yum install bc   在命令行输入 bc 指令,即可进入 bash 计算器的界面:   如图所示,是使用 bc 进行简单的浮点运算。...在执行循环时,参数列表 values(可以有多个参数,如val1、val2、val3、…) 中的第一个参数将被赋给变量 variable,然后执行循环体(do 与 done 之间的命令);然后将列表中的第二个参数赋给...5.4 while 与 until 语句   如果你需要进行循环操作而是先不知道需要循环的次数,可以使用 while 循环,while 循环的语法如下: while condition do statements

    3.4K30

    shell 快速入门

    /bin/bash # 运算符 # Shell 的运算符主要有: # 比较运算符(整数比较),字符串运算符(字符串测试),文件操作运算符(用于文件测试),逻辑运算符,算术运算符,位运算符,自增自减等...# 算术运算符:加减乘除余幂 以及加等,减等,乘等,初等,余等 A=1 B=2 let "C = $A + $B" # 需要使用 let 关键字执行运算 echo $C # 位运算符:左移 右移 按位与...做运算:使用 expr 要求操作数和操作符之间用空格分开,否则会被当成字符串 expr 1+1 expr 1 + 1 expr 2 \* 2 # 特殊字符运算符需要转义 # 算术扩展: $((算术表达式...: $@" } func5 # 移动位置参数:在 Shell 中可以使用 shift 命令把参数左移一位 func6() { while [ $# -gt 0 ] do echo current...' # 使用 exec # exec 是 Shell 的内建命令,执行这个命令时,系统不会启动新的 Shell,而是用被执行的命令替换当前的 Shell 进程 # 因此,在执行完 exec 的命令后,

    1.9K30

    Linux Shell脚本面试25问

    2 如果结束状态不是0,说明命令执行失败。 Q:7 在shell脚本中如何比较两个数字 ? 答:在if-then中使用测试命令( -gt 等)来比较两个数字,例子如下: #!...答:break命令一个简单的用途是退出执行中的循环。我们可以在while和until循环中使用break命令跳出循环。 Q:9 shell脚本中continue命令的作用 ?...它的意思是命令通过 /bin/bash 来执行。 Q:14 shell脚本中for循环语法 ?...答:“unset”命令用于取消变量或取消变量赋值。语法如下所示: # unset Q:22 如何执行算术运算 ?...答:有两种方法来执行算术运算: 使用expr命令(# expr 5 + 2) 2.用一个美元符号和方括号($[ 表达式 ])例如:test=$[16 + 4]; test=$[16 + 4] Q:23

    1.5K50

    必会的 24 道 Shell 脚本面试题

    答:break命令一个简单的用途是退出执行中的循环。我们可以在while和until循环中使用break命令跳出循环。 Q:9 shell脚本中continue命令的作用 ?...不同于for循环,while循环会不断迭代,直到它的条件不为真。基础语法: while [ 条件 ] do 命令… done Q:12 如何使脚本可执行 ? 答:使用chmod命令来使脚本可执行。...它的意思是命令通过 /bin/bash 来执行。 Q:14 shell脚本中for循环语法 ? 答:for循环的基础语法: for 变量 in 循环列表 do 命令1 命令2 …....答:“unset”命令用于取消变量或取消变量赋值。语法如下所示: # unset Q:22 如何执行算术运算 ?...答:有两种方法来执行算术运算: 1.使用expr命令 # expr 5 + 2 2.用一个美元符号和方括号($[ 表达式 ])例如: test=$[16 + 4] ; test=$[16 + 4] Q:

    1K30

    第三十五章 : 字符串和数字

    除了算术展开(在第七章中接触过),还有一个常见的命令行程序叫做 bc,能执行更高级别的数学运算。...Its basic form is: 我们在第七章中已经接触过算术展开了。它被用来对整数执行各种算术运算。...这个与复合命令 (( )) 有关,此命令用做算术求值(真测试),我们在第27章中遇到过。...在循环执行期间,它允许某一个操作在指定的间隔内执行。在下面的例子中,我们显示一行数字,并高亮显示5的倍数: #!...首先,把变量 finished 的值设为零(算术假),继续执行循环之道它的值变为非零。在循环体内,我们计算计数器 a 的平方和立方。在循环末尾,计算计数器变量 a 的值。

    32310

    面试linux运维一定会问到Shell脚本这24个问题

    答:break命令一个简单的用途是退出执行中的循环。我们可以在while和until循环中使用break命令跳出循环。 Q:9 shell脚本中continue命令的作用 ?...不同于for循环,while循环会不断迭代,直到它的条件不为真。基础语法: while [ 条件 ] do 命令… done Q:12 如何使脚本可执行 ? 答:使用chmod命令来使脚本可执行。...它的意思是命令通过 /bin/bash 来执行。 Q:14 shell脚本中for循环语法 ? 答:for循环的基础语法: for 变量 in 循环列表 do 命令1 命令2 …....答:“unset”命令用于取消变量或取消变量赋值。语法如下所示: # unset Q:22 如何执行算术运算 ?...答:有两种方法来执行算术运算: 1.使用expr命令(# expr 5 + 2) 2.用一个美元符号和方括号($[ 表达式 ])例如:test=$[16 + 4] ; test=$[16 + 4] Q:

    1.7K11

    必会的 24 道 Shell 脚本面试题

    2 如果结束状态不是 0,说明命令执行失败。 Q:7 在 shell 脚本中如何比较两个数字 ? 答:在 if-then 中使用测试命令( -gt 等)来比较两个数字,例子如下: #!...答:break 命令一个简单的用途是退出执行中的循环。我们可以在 while 和 until 循环中使用 break 命令跳出循环。 Q:9 shell 脚本中 continue 命令的作用 ?...值2) 命令1 命令2 …… 最后命令 ;; esac Q:11 shell 脚本中 while 循环语法 ? 答:如同 for 循环,while 循环只要条件成立就重复它的命令块。...答:“unset” 命令用于取消变量或取消变量赋值。 语法如下所示: # unset Q:22 如何执行算术运算 ?...答:有两种方法来执行算术运算: 1.使用 expr 命令 # expr 5 + 2 2.用一个美元符号和方括号($[ 表达式 ])例如: test=$[16 + 4] ; test=$[16 + 4]

    9.6K30

    Linux命令(二)——shell编程

    运算符 Shell运算符 Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符 算术运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,...循环语句 1. while循环 只要while后面的条件满足,就一直执行do里面的代码块。 示例: #!...until 循环与 while 循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候,也只是极少数情况下,until 循环更加有用。 示例: #!...跳出循环 在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环。...break break命令允许跳出所有循环(终止执行后面的所有循环)。

    3.8K20

    Linux中编写Shell脚本

    Linux中编写Shell脚本 目录 Shell Shell脚本的执行 Shell脚本编写规范 Shell 中的变量 变量的算术运算 双小括号 (()) 数值运算命令的用法 let 运算命令的用法 expr...1、一个规范的Shell脚本在第一行会指出由哪个程序(解释器)来执行脚本中的内容,这一行内容在Linux bash的编程一般为:#!/bin/bash 或 #!.../bin/bash 2、在shell脚本中,跟在 # 后面的内容表示注释,用来对脚本进行注释说明,注释部分不会被当做程序来执行,仅仅是给开发者和使用者看的,系统解释器是看不到的,更不会执行。...#打印出命令执行后返回的状态 echo $$ #打印出当前进程的进程号 echo $0 #打印出当前进程的进程名 当我执行时,我在文件名后加3个参数 变量的算术运算...Shell中常见的算术运算符 Shell 中常见的算术运算命令 双小括号 (()) 数值运算命令的用法 双小括号 (()) 的作用是进行数值运算与数值比较,它的效率很高,用法灵活,是Linux下常用的运算操作符

    7.2K10

    shell programming tutorial

    因此在使用管道获取的参数,我们一定要增加对于参数的判断,或者,我们在sh和bash的解释器中, 增加set –o pipefail 的设置,可以让管道的执行结果是否成功,变得可信。...获取变量值,${BASH:0:1} 可以代替 / $(...) 命令替换 $[...] 让无类型的变量参与算术运算 $((...))...和until循环 while expr  #执行expr do #若expr的退出状态为0,进入循环,否则退出while   commands  #循环体 done        #循环结束标志,返回循环顶部...${value1}${value2} (二)随机数和 expr 命令 echo $RANDOM  // 生成随机数的特殊变量 expr:通用的表达式计算命令 表达式中参数与操作符必须以空格分开,表达式中的运算可以是算术运算...命令declare是bash版本2之后才有的。命令typeset也可以在ksh脚本中运行。

    1.4K90
    领券