zoukankan      html  css  js  c++  java
  • Linux Shell编程(7)——变量赋值

    =
    赋值操作符(它的左右两边不能有空白符)



    不要搞混了=和-eq,-eq是比赋值操作更高级的测试。


    注意:等于号(=)根据环境的不同它可能是赋值操作符也可能是一个测试操作符。


    例子:简单的变量赋值


    #!/bin/bash
    # 裸变量
    
    
    echo
    
    
    # 什么时候变量是“裸”的?比如说,变量名前面没有$?
    #当变量被赋值而不是引用时,我们称它为是裸变量。
    
    
    # 赋值
    a=879
    echo "The value of "a" is $a."
    
    
    # 用命令'let'赋值。
    let a=16+5
    echo "The value of "a" is now $a."
    
    
    echo
    
    
    # 在一个for循环里赋值(其实,这是一种伪赋值):
    echo -n "Values of "a" in the loop are: "
    for a in 7 8 9 11
    do
      echo -n "$a "
    done
    
    
    echo
    echo
    
    
    # 用'read'命令 (这也是一种赋值):
    echo -n "Enter "a" "
    read a
    echo "The value of "a" is now $a."
    
    
    echo
    
    
    exit 0


      
    例子简单且奇特的变量赋值

    #!/bin/bash
    
    
    a=23              # 简单的情况
    echo $a
    b=$a
    echo $b
    
    
    # 现在,来一点奇怪的赋值(命令替换)
    
    
    a=`echo Hello!`   # 把'echo'命令的结果赋值给变量'a'
    echo $a
    #  注意在一个#+的命令替换结构中包含一个感叹号(!),
    #+ 将不会工作。
    #+ 因为感叹号触发了Bash"历史命令机制"
    #  不过,在脚本里,历史命令机制是被禁用的.
    
    
    a=`ls -l`         # 把'ls -l'命令的结果赋给变量'a'
    echo $a           # 如果没有引号,则会删除多余tab键和空白符
    echo
    echo "$a"         # 加了双引号,则能够原样保留空白符
                      # (参考"引用"章节)
    
    
    exit 0



    变量赋值也可以使用$(...) 机制(它是比斜引号更新的方法). 它实际是命令替换的一种形式.

  • 相关阅读:
    后勤数据抽取流程图 Logistic Data Extraction
    WINDOWS两条线路上网的解决办法
    Zabbix Agent for Linux部署
    Java项目的自动更新并构建脚本
    使用Goole搜索引擎
    golang程序性能优化方法----不断更新
    golang性能分析策略
    问题分析:引入新elastic api导致的TIME_WAIT堆积
    数据权限限定办法
    MariaDB集群搭建
  • 原文地址:https://www.cnblogs.com/new0801/p/6176874.html
Copyright © 2011-2022 走看看