相关疑难解决方法(0)

dash 或其他一些 shell 比 bash“更快”吗?

我一直认为使用 dash 而不是 bash 的唯一好处是 dash 更小,因此许多 dash 实例在启动时启动得更快。

但是我做了一些研究,发现有些人将他们所有的脚本迁移到 dash 中,希望他们能跑得更快,我也在Ubuntu Wiki 的DashAsBinSh文章中发现了这一点:

切换默认 shell 的主要原因是效率。bash 是一个优秀的全功能 shell,适合交互式使用;事实上,它仍然是默认的登录 shell。但是,与dash相比,它的启动和操作相当大且缓慢

现在,我一直在系统上使用大量 bash 脚本来处理许多事情,我的问题是我有一个特定的脚本,我 24/7 连续运行,产生大约 200 个孩子,它们一起加热我的计算机 10° C多于正常使用。

这是一个相当大的脚本,有很多 bashism,因此将它们移植到 POSIX 或其他一些 shell 将非常耗时(而且 POSIX 对个人使用并不重要),但如果我能减少其中的一些,那将是值得的CPU使用率。我知道还有其他事情需要考虑,比如调用一个外部二进制文件,比如sed一个简单的 bashism ${foo/bar},或者grep代替=~.

TL;DR与 dash 相比,bash 的启动和运行速度真的更慢吗?是否有其他 Unix shell比 bash更有效

performance bash dash

64
推荐指数
3
解决办法
3万
查看次数

如何与shell脚本中的浮点数进行比较

我想在 shell 脚本中比较两个浮点数。以下代码不起作用:

#!/bin/bash   
min=12.45
val=10.35    
if (( $val < $min )) ; then    
  min=$val
fi
echo $min 
Run Code Online (Sandbox Code Playgroud)

shell shell-script arithmetic

33
推荐指数
5
解决办法
9万
查看次数

标签 统计

arithmetic ×1

bash ×1

dash ×1

performance ×1

shell ×1

shell-script ×1