查看“Shell编程基础”的源代码
来自Ubuntu中文
←
Shell编程基础
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=== 变量算术 === Shell 变量默认都是字符串。这也就是说,你尝试这么做,肯定没用: <source lang=bash>var=1 var=$var+1 echo $var # 输出 1+1</source> 我们可以用很多方法达成我们的目标。首先是好孩子的方法——C 风格表达式。 <source lang=bash>var=0 # bash 里面可以用 (( )) 执行 C 风格的算术表达式。 # 如果你接下来还会读 if 那一段的话,你还会知道这玩意的返回和 C 的非零真假判断一致。 (( var += 1 )) # 这是一种,现在 var 是 1 (( var++ )) # 这也是一种自增,2 (( var = var * var )) # 怎么来乘法了!var 现在是 4。 let 'var = var / 3' # 还是只有 bash 才能用的拓展。除法是整数除法,向 0 舍入,1。 # 来一点不一定要 bash 的方法吧,毕竟 sh 还有很多种,总不能全报错了吧。 # $(( )) 会展开成为这个 C 表达式求值的结果。以前 bash 有个 $[ ] 一样,但是别去用。 echo $((var += 2)) # echo 出 3,var 现在是 3。 var=$((var-1)) # 展开成 var=2,var 现在是……还用说吗,2。</source> 以前还有人用 expr 之类的外部程序来,不过这属于杀鸡用牛刀。并且调用外部程序浪费时间性能差。 <source lang=bash>var=1 var=$(expr "$var" + 1) # expr 收到三个参数 '1' '+' '1', # 按照 expr --help 里面写的方法运行 # 然后输出替换掉 $() 这里变成 var=2。 var=`expr "$var" + 1` # 前面一行的老写法,千万千万不要学。</source>
返回
Shell编程基础
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息