




















这是一个创建于 1189 天前的主题,其中的信息可能已经有所发展或是发生改变。
a=0.1
b=0.01
if (( $(echo "$a > $b" |bc -l) )); then
ehco "true"
else
echo "false"
fi
a=0.1
b=0.01
if [ $(echo "$a > $b"|bc) -eq 1 ];then
echo "true"
else
echo "false"
fi
第 1 条附言 · 2023 年 3 月 14 日
1 startisan 2023 年 3 月 13 日OP 方式 1 输出 true 的 echo 拼写错了。 我来补充个方式 3 ,个人更喜欢用这个,有时候数据本来就要用 awk 获取,正好 awk 就能比较: |
2 Donahue 2023 年 3 月 13 日用了 linux 4 年多了,还不会 shell, 需要的时候才查... |
3 OldCarMan 2023 年 3 月 13 日@startisan 是的,刚刚手打错字了,好的,谢谢大佬。 |
4 OldCarMan 2023 年 3 月 13 日不过,shell 实在一言难尽,最基本的浮点比较,也必须安装一个 bc 库才能用。 |
5 Rache1 2023 年 3 月 13 日😂 我都是用 php 写,有时候需要调用 shell ,就用内置的函数执行 shell 命令。 |
7 OldCarMan 2023 年 3 月 13 日我上面#4 说错了,@startisan 这种更好使,而且不需要安装 bc 库 |
8 OldCarMan 2023 年 3 月 13 日@Rache1 嗯嗯,脚本写的很少,之前就用 python 写过一点数据同步的,你后端如果也是 php 开发的,用 php 就够了。不过我还是不大想安装太多额外的库+业务不复杂,所以直接使用 shell 。 |
9 churchmice 2023 年 3 月 13 日你具体展开说说 shell 碰到空格问题是啥问题 |
11 yingqiuQAQ 2023 年 3 月 13 日属于同是天涯沦落人了。。。 上次写了个内存查询 top -n 1 | grep xxx | awk '{mem_percent += $10} END {print mem_percent}' ,结果值是小数。 用 -gt 判断报错了,裂开来。 |
13 crysislinux 2023 年 3 月 13 日 via Android这辈子是搞不清 shell 了。之前写了个要长期运行的 bash script ,老是有内存泄露,百思不得其解,最后换了 nodejs 用同样的逻辑写就好了。。 |
14 idontnowhat2say 2023 年 3 月 13 日最佳实践是把 shell 当胶水语言用,用来粘合命令,你这种情况应该用 Python 的。 |
15 idontnowhat2say 2023 年 3 月 13 日``` Python 在 Linux 发行版上都自带的,你这需求就三行搞定。 |
16 fzinfz 2023 年 3 月 13 日来 2 个 perl 版: |
17 OldCarMan 2023 年 3 月 14 日@churchmice 谢谢大佬指教,确实如你所说,shell 这方面我确实没去深入了解它的语法,主要平时很少用它,用到时才去写,空格主要是在 vim 上写时,不小心敲多了一个或少一个空格都会报错(习惯了其他语言对这方面没有那么高的要求,另外还有 idea 工作环境),你说得对,凡事从原理出发去学习。 |
18 aloxaf 2023 年 3 月 24 日说真的,如果不需要考虑可移植性,写 zsh 脚本更好,很多地方比 bash 顺手多了…… > (( 0.1 > 0.01)) && echo true || echo false |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。