bash算术求值和errexit陷阱
2016-03-31 21:11
423 查看
原文:https://www.technovelty.org//linux/bash-arithmetic-evaluation-and-errexit-trap.html
在 "traps for new players" 一章:
看上去非常正常?
我可能已经这么写好多次了。
但这是一个意想不到的错误:
((expression))表达式按 ARITHMETIC EVALUATION 描写叙述的规则求值. 假设表达式的值非0。返回值为0; 否则返回值是1. 这个和let "expression"是同样的.
当你使用 -e或使能errexit运行该脚本时 --
或许是因为脚本过大而变的不可信 -- count++ 将返回 0 (post-increment) 然后脚本就退出了. 这个陷阱须要注意!
在 "traps for new players" 一章:
count=0 things="0 1 0 0 1" for i in $things; do if [ $i == "1" ]; then (( count++ )) fi done echo "Count is ${count}"
看上去非常正常?
我可能已经这么写好多次了。
但这是一个意想不到的错误:
((expression))表达式按 ARITHMETIC EVALUATION 描写叙述的规则求值. 假设表达式的值非0。返回值为0; 否则返回值是1. 这个和let "expression"是同样的.
当你使用 -e或使能errexit运行该脚本时 --
或许是因为脚本过大而变的不可信 -- count++ 将返回 0 (post-increment) 然后脚本就退出了. 这个陷阱须要注意!
相关文章推荐
- shell脚本相关
- 2款XSHELL配色方案及导入配色方案的方法
- HDU2149——Public Sale(Bash Game巴什博奕)
- Linux Shell 学习笔记1:Shell程序的运行及基本介绍
- ORMLite的几个关键注解的使用说明
- 有关bash的一些常识
- hbase shell基础和常用命令详解
- hbase shell - 使用filter进行scan
- 【转】LINUX Shell 下求两个文件交集和差集的办法
- shell 基础语法
- shell脚本实例
- linux下用shell来 CURL POST JSON 数据遇到的问题
- bash脚本编程(三)
- Shell for循环用法总结
- shell多线程
- adb shell 获得活动窗口信息
- 使用xshell链接本地虚拟机中的Linux
- 我使用过的Linux命令之exit - 退出当前shell
- FileZilla无法确定拖放操作的目标,由于shell未正确安装
- HDU2188——悼念512汶川大地震遇难同胞——选拔志愿者(Bash Game巴士博弈)(我去,名字肿么这么长)