• shell变量注意事项


    概念:变量赋值,变量替换,变量引用,命令替换

    variable=22

    echo variable

    可以在同一行设置多个变量.例如

    va1=good   va2=chif va3=beijing  #需要用空格隔开,会降低可读性和可移植性

    variable

    echo $variable #变量替换

    22

    变量替换例子

    logfile=err.log

    echo “this is a err” >  $logfile

    $variable是${variable}的简写形式

    variable=value #赋值的时候=前后不能有空格,

    variable =value #variable会被当做命令,=22成为命令参数

    variable= value #value被当成命令执行,并且附带一个被赋值为空的环境变量variable

    ‘$variable’单引号全引用 - 变量替换会被阻止

    “$variable”双引号半引用 -变量替换会发生

    !/bin/bash
    hello="A B  C    D"
    echo $hello    # 显示 A B C D 变量替换不会保留空格
    echo "$hello"  # 显示A B  C   D  变量引用会保留空格,变量替换发生

    echo ‘$hello’ #显示$hello, 半引用,变量替换不会发生

    A B C D
    A B  C    D

    $hello

    [root@rhel download]# more show_va.sh
    !/bin/bash
    echo hello
    echo $hello
    echo "$hello"
    echo "${hello}"

    hello="A B  C    D"
    echo $hello
    echo "$hello"
    echo '$hello'

    va1=22 va2=33 va3=55
    echo "va1=$va1 va2=$va2 va3=$va3"

    #o_nu=1 2 3
    #echo "o_nu is $o_nu"

    o_nu=1 2 3
    echo "o_nu is $o_nu"

    un_o=  #声明变量,但没有初始化,未赋值的变量为null,不可理解为0
    echo $un_0

    一个变量的值可以作为某个长字符串中的一部分。如果它在长字符串的末尾,就可直接引用,例:

            $s=ing

            $echo read$s and writ$s

            如果在开头或中间,应该用花括号将该变量括起来:

            $dir=/usr/zhang

            $cat  ${dir}hr/m1.c

    2.命令替换

             可以将一个命令的执行结果赋值给变量,两种形式:

           (1)倒引号

                     `命令表`

                      例:$dir=`pwd`

            (2)圆括号

                      $(命令表)

                      例:$dir=$(pwd)

    for line in `cat file.txt` 等价于$(cat file.txt)

    do

    echo $line

    done

  • 相关阅读:
    RabbitMQ In JAVA 介绍及使用
    利用消息队列处理分布式事务
    SpringBoot入门篇--关于properties和yml两种配置文件的一些事情
    消息队列
    多线程-- ThreadLocal
    简单ORACLE分区表、分区索引
    OR 连接查询注意
    二分查找算法(JAVA)
    逻辑回归与决策树在分类上的一些区别
    从一个R语言案例学线性回归
  • 原文地址:https://www.cnblogs.com/jjkv3/p/3823936.html
Copyright © 2020-2023  润新知