Linux Shell编程(8)——变量详解
2014-09-30 07:24
351 查看
不同与许多其他的编程语言,Bash不以"类型"来区分变量。本质上来说,Bash变量是字符串,但是根据环境的不同,Bash允许变量有整数计算和比较。其中的决定因素是变量的值是不是只含有数字.
变量没有类型既是幸运的也是悲惨的。它使脚本编程时有更多的弹性(但也可能把你弄晕)并能很容易地写出代码。但是,这也很容易不小心犯错误和养成坏的编程习惯。
程序员的负担就是要清楚地知道脚本中变量的类型。Bash不会帮你检查。
例子
变量没有类型既是幸运的也是悲惨的。它使脚本编程时有更多的弹性(但也可能把你弄晕)并能很容易地写出代码。但是,这也很容易不小心犯错误和养成坏的编程习惯。
程序员的负担就是要清楚地知道脚本中变量的类型。Bash不会帮你检查。
例子
#!/bin/bash a=2334 # 整数. let "a += 1" echo "a = $a " # a = 2335 echo # 仍然是整数. b=${a/23/BB} # 把变量a中的"23"替换为"BB"并赋给变量b # 这使变量$b成为字符串 echo "b = $b" # b = BB35 declare -i b # 即使明确地声明它是整数也没有用 echo "b = $b" # b = BB35 let "b += 1" # BB35 + 1 = echo "b = $b" # b = 1 echo c=BB34 echo "c = $c" # c = BB34 d=${c/BB/23} # 把"BB"替换成"23" # 这使变量$d成为一个整数 echo "d = $d" # d = 2334 let "d += 1" # 2334 + 1 = echo "d = $d" # d = 2335 echo # What about null variables? e="" echo "e = $e" # e = let "e += 1" # 数值计算允许有null值操作? echo "e = $e" # e = 1 echo # 空值(null)变量变成了整数 # 如果没有声明变量会怎么样? echo "f = $f" # f = let "f += 1" # 算术计算能通过吗? echo "f = $f" # f = 1 echo # 没有预先声明的变量变为整数 # 在Bash中的变量确实是无类型的. exit 0
相关文章推荐
- Linux Shell编程(8)——变量详解
- Linux shell编程之awk与sed使用详解【转自www.bitsCN.com】
- NET调用后台编程之Asp.Net前台调用后台变量详解
- Linux Shell编程变量赋值和引用
- Linux shell编程 7 ---- 变量和引用
- linux shell编程if语句内判断参数详解
- Linux shell编程之awk&sed用法详解
- linux shell编程指南第十四章------环境和shell变量
- linux shell编程1 - 环境与变量
- linux shell编程之变量_01
- Linux Shell 编程 之 参数和变量扩展
- linux shell编程if语句内判断参数详解
- Linux shell编程(二)高级变量
- Linux shell编程(一)变量与字符串操作
- linux shell编程if语句内判断参数详解
- Linux shell编程变量参数
- Linux Shell编程的特殊变量
- linux Shell编程入门 实例讲解详解
- Linux Shell编程变量赋值和引用
- Linux Shell编程变量赋值和引用