zoukankan      html  css  js  c++  java
  • Linux Shell编程(8)——变量详解

    不同与许多其他的编程语言,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





  • 相关阅读:
    getBoundingClientRect()方法
    Sublime Text3 安装less
    less知识点总结(一)
    跨域知识(二)——JSONP
    面向过程和面向对象的区别(转)
    暴力+DP:买卖股票的最佳时机
    车的可用捕获量(3.26leetcode每日打卡)
    三维形体的表面积(3.25leetcode每日打卡)
    基础练习:FJ的字符串
    DP:打家劫舍
  • 原文地址:https://www.cnblogs.com/new0801/p/6176872.html
Copyright © 2011-2022 走看看