BASH:基本 if then 和变量赋值

2023-12-31

我习惯了 csh,所以不得不使用 bash 有点令人恼火。这段代码有什么问题?

if[$time > 0300] && [$time < 0900]
then
$mod=2
else
$mod=0
fi

按照标准应该是

if [ "$time" -gt 300 ] && [ "$time" -lt 900 ]
then
   mod=2
else
   mod=0
fi

在普通的 shell 脚本中,您使用[ and ]测试值。不存在类似算术的比较运算符> and < in [ ], only -lt, -le, -gt, -ge, -eq and -ne.

当你在狂欢时,[[ ]]是首选,因为变量不受分割和路径名扩展的影响。您也不需要扩展变量$用于算术比较。

if [[ time -gt 300 && time -lt 900 ]]
then
   mod=2
else
   mod=0
fi

另外,使用(( ))算术比较可能最适合您的偏好:

if (( time > 300 && time < 900 ))
then
   mod=2
else
   mod=0
fi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BASH:基本 if then 和变量赋值 的相关文章

  • Bash 的源命令无法处理从互联网上卷曲的文件

    我正在尝试使用curl从互联网获取脚本文件 如下所示 source lt curl url echo done 我看到的是 完成 得到了回响before卷曲甚至开始下载文件 这是实际的命令和输出 bash 3 2 source lt cur
  • “alias: =: not found”,且未定义别名,在 .bashrc 中使用“alias ll = 'ls -l'”

    我在 Mac OSX 上并尝试在 bashrc 中添加一些基本别名 例如alias ll ls l 我在 bash profile 中获取了 bashrc 启动时它识别出我在 bashrc 中的函数 但是 每次添加别名然后尝试启动它时 我都
  • Bash 脚本跳过提取受密码保护的档案

    我有一个脚本 它使用命令对某些文件夹中的特定 zip 和 或 tar gz 存档进行批量提取 unzip o zip path d destination folder 不幸的是 当存档受密码保护时 脚本会停止并等待密码输入 有没有办法省略
  • Grep 搜索带有换行符的字符串

    如何使用 grep 输出下面给出的输入文件中出现的字符串 export to excel 具体来说 如何处理搜索字符串之间发生的换行符 grep 中是否有一个开关可以执行此操作或其他命令 输入文件 文件a txt 等等 导出到优秀 巴拉巴拉
  • 如何在 Bash 中删除字符串的第一部分?

    该代码将给出第一部分 但是如何删除它并获取没有第一部分的整个字符串 echo first second third etc cut d f1 你应该看看info cut 这将解释什么f1 means 实际上我们只需要第二个字段之后的字段 f
  • 打印本周星期一的日期(在 bash 中)

    我想获取本周星期一的 YYYYMMdd 格式的日期 例如 今天是 20110627 从明天到周日 我仍然想打印周一 今天 的日期 然后下周重复这个过程 monday date dmonday Y m d last monday date d
  • 命令中的 Bash 变量扩展[重复]

    这个问题在这里已经有答案了 DATE 1 week ago date date DATE 不起作用 我怎样才能让它发挥作用 我可以做 DATE CMD date date DATE eval DATE CMD 但我不想将整个命令存储在变量中
  • git log --oneline 提供在管道或重定向到文件时丢失的 HEAD 信息

    当我执行没有管道或文件重定向的 git log oneline 命令时 它会提供有关 HEAD 位置和分支的信息 下面示例中的 master git log oneline color never 8bc8511 HEAD gt day 2
  • 如何在 Bash 脚本中查找数字的阶乘?

    在 shell 脚本中如何查找数字的阶乘 seq s 1 500 bc
  • grep 彩色线条

    我编写了一个简单的 PHP shell 脚本 它解析文件并输出某些元素 它产生大量的输出 采用不同的 bash 颜色 绿色表示正常 黄色表示警告 红色表示错误等 在开发过程中我想过滤掉一些行 例如 所有包含红色文本的行 我可以使用grep
  • EULA 接受 Bash 脚本

    我有一个尝试安装垃圾箱的脚本 除了 bin 在 more 中打开 EULA 之外 一切正常 在脚本再次开始并自行完成安装之前 您必须手动 ctrl c 退出此 more 实例 因为这更多的是逃离 shell 所以脚本在打开后不知道要运行什么
  • 如何在bash中进行二进制加法

    我正在尝试将两个 32 位二进制数相加 其中之一是常数 address range in binary 另一个是数组的元素 IPinEachSubnet val 我正在尝试按照说明进行操作here https www linuxquesti
  • 我们可以在 Bash 脚本中使用 PHP 吗?

    我有一个 bash 脚本abcd sh bin sh for i in seq 8 do ssh w i uptime ps elf grep httpd wc l free m mpstat done pid sleep 1 kill 9
  • 为什么 ?(*[[:class:]])foobar 的 Bash 模式匹配速度很慢?

    我有一个文本文件 foobar txt 大约 10KB 不是那么长 然而 以下匹配搜索命令在高性能 Linux 计算机上大约需要 10 秒 bash gt shopt s extglob bash gt cat foobar txt pri
  • 通过 SSH 的 sbt (Scala) 结果找不到命令,但如果我自己这样做就可以工作

    所以我正在尝试做一些涉及跑步的事情sbt通过 SSH 命令 这就是我正在尝试的 ssh my username
  • 如何从源 bash 脚本返回错误

    我对 bash 脚本相当陌生 我有 4 个嵌套的 bash 脚本 并且我无法正确地从第四个脚本传播错误 例如 script1 sh source script2 sh
  • 为什么 RHEL 上的 bash 中 `read -t` 没有超时?

    Why read t在 RHEL5 或 RHEL6 上从管道读取时不会超时 这是我的示例 在从管道读取数据时 我的 RHEL 盒子不会超时 tail f logfile log grep something read t 3 variabl
  • bash 递归xtrace

    有没有办法运行 bash 脚本 X 以便如果 X 调用可执行 bash 脚本 Y 则 Y 以 sh eux 开头 X sh Y sh Y sh bin sh echo OK 可以通过导出子 shell 使用父 shell 中设置的相同 sh
  • 从文件开头开始 grep (grep -f )

    I use commands grep f file从文件中提取管道内容 但是 我只想在匹配字符串位于行开头时才提取 通常我使用grep string 但它不适用于grep f grep f file grep No such file o
  • cat/Xargs/命令 VS for/bash/命令

    Linux 101 Hacks 一书的第 38 页建议 cat url list txt xargs wget c 我通常这样做 for i in cat url list txt do wget c i done 除了长度之外 还有什么东

随机推荐

  • 使用数据 URL 绘制图像

    我将从脚本开始 function saveInstance savedInstance document getElementById canvasID toDataURL function restoreInstance ctx draw
  • 在活动状态 onStop 上关闭/隐藏 Android 软键盘

    我有一个EditText and a Button在我的布局中 在编辑字段中写入后 单击此按钮go back my fragment 我想隐藏虚拟键盘 我认为有一个简单的方法 但我尝试了一些方法 但它不起作用 该代码显示了如何Button
  • Spring-MVC RequestMapping URITemplate 中的可选路径变量

    我有以下映射 RequestMapping value first last method RequestMethod GET public String test PathVariable first String first PathV
  • 如何从批处理文件执行postgres的sql查询?

    我需要从批处理文件执行 SQL 我正在执行以下连接到 Postgres 并从表中选择数据 C pgsql bin psql h DB HOST p 5432 U DB USER d DB NAME select from test 我能够连
  • MYSQL 两个日期之间的过滤

    我有一个激励表 inc id int 11 inc date date inc projectname varchar 256 inc amount varchar 256 inc developer id int 11 inc sales
  • 克隆、拉取 Mercurial 存储库时出现 404 错误

    我这里有一个存储库http repos joomlaguruteam com http repos joomlaguruteam com 我使用 hgweb cgi 这是我的 hgweb config 文件 web baseurl allo
  • Bootstrap 工具提示显示在模式窗口后面

    我有一个模态窗口 其中包含以下内容div div class input group div class input group addon title Insert here your domain account name Html L
  • 强制 graphviz 中节点的从左到右顺序?

    我想使用 graphviz 绘制决策树图 我想要绘制的图表如下所示 我正在使用以下点语言 graph a A shape box label A B shape box label B al shape none label 0 bl sh
  • 非常简单的 jQuery .load 示例不起作用

    我认为这是一个非常简单的问题 但我似乎无法让它发挥作用 我需要使用 JavaScript 显然是 jQuery 从一个页面获取一些内容 并将其拉入另一个页面 我对此进行了相当多的研究 但似乎连一个非常简单的例子都无法工作 这是我试图从中获取
  • RESTful WCF 服务在发送“原始”XML 时返回 400 代码

    我已经为此苦苦挣扎了两天 所以希望有人能帮我 我拥有的是一个使用 WCF 编写的 RESTful Web 服务 实际上只是两个接受单个字符串参数并返回一个字符串的方法 参数和返回值都是直接的 XML ServiceContract publ
  • 使用 sortItems() 对 QListWidget 进行排序

    我在 QListWidget 上使用 sortItems 时遇到问题 发生的情况如下 改变这个 A z d C 乙 哦 我 to this A C 我 d e 哦 z 但我希望它是 A C d e 我 哦 z 有什么办法可以改变让它变得像这
  • 无法从 Team Foundation Server 2010 取消解决方案的绑定

    我有一些与 TFS 2010 绑定的解决方案 但是团队项目集合不再可用 我需要将此解决方案重新绑定到该服务器上的新团队项目集合 我尝试更改源代码管理 文件 gt 源代码管理 gt 更改源代码管理 按 更改源代码控制 后 出现 您想将解决方案
  • 是否可以修复 geom_text() 生成的锯齿状、质量差的文本?

    在向图中添加注释文本时 我注意到geom text 产生难看的 锯齿状的文本 同时annotate 生成流畅 美观的文本 有谁知道为什么会发生这种情况以及是否有任何方法可以解决它 我知道我可以使用annotate 在这里 但可能存在这样的情
  • 如何在初始化类方法之前加载 Kivy ID(Python with Kivy)

    目标 成功初始化一个类方法 create button 就我而言 在其参数中引用 kv id init 同一个类的方法 我收到以下错误 File C Users phili scrollablelabelexample py line 33
  • jquery 中的多个 attr 选择器?

    我怎样才能在 jquery 中做到这一点 SomeId input type hidden AND name somename SomeId input type hidden name somename
  • 在嵌入式 C 中使用 malloc() [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在嵌入式C编程语言中 是malloc 在单任务嵌入式系统中有用吗 我在嵌入式系统领域工作了 0 5 年 我从来没有用过malloc 在8位控制器
  • 如何使用 python 关闭程序?

    python 有没有办法关闭 Windows 应用程序 例如 Firefox 我知道如何启动应用程序 但现在我需要知道如何关闭应用程序 I have used subprocess comands for a while this prog
  • Matlab上3D数据的椭球拟合

    我正在研究一个3D体积 of CT肺部图像 为了检测结节 我需要为每个可疑结节拟合一个椭球模型 我该如何为此编写代码 结节是疑似肿瘤的物体 我的算法需要检查每个物体 并将其近似为椭球体 并根据椭球体参数计算8个特征来构建分类器 通过训练和测
  • Rails:切换用户 Gem 以及切换回原始用户的问题

    在我的应用程序中我正在使用switch user https github com flyerhzm switch user https github com flyerhzm switch user gem 允许管理员以另一个用户身份登录
  • BASH:基本 if then 和变量赋值

    我习惯了 csh 所以不得不使用 bash 有点令人恼火 这段代码有什么问题 if time gt 0300 time lt 0900 then mod 2 else mod 0 fi 按照标准应该是 if time gt 300 time