zoukankan      html  css  js  c++  java
  • shell脚本之二:变量的基础知识

    二、变量的基础知识

    shell中变量中不定义变量类型。shell变量是否为了方便调用。

    shell变量:环境变量(全局变量),普通变量(局部变量)

    shell 不区分类型,使用的时候区分变量类型。

    (一)shell变量分类:

    1、环境变量

    全局变量,显示环境变量:

    echo $变量;env;set
    

    定义环境变量:

    系统固有:PS1,PATH,HOME,UID
    

    方法1

    export OLDBOY=1;
    

    方法2

    OLDBOY=1
    
    export OLDBOY
    
    永久生效的方法:
    
    添加至/etc/profile ; . /etc/profile
    

    方法3

    declare -x A=1
    
    取消环境变量:unset 变量
    
    环境变量的文件:
    
    全局文件
    
    /etc/profile
    
    /etc/bashrc
    
    用户环境变量文件
    
    ~/.bashrc
    
    ~/.bash_profile
    

    环境变量生效的的顺序:

    ①~/.bash_profile
    
    ②~ /.bashrc
    
    ③/etc/bashrc
    
    ④/etc/profile
    
    登录shell:
    
    先加载/etc/profile ;~/.bash_profile,然后加载~/.bashrc ;再次加载/etc/bashrc(生效顺序相反)
    

    2、普通变量

    局部变量,当前用户或者脚本中生效。

    ①字符串变量

    ②变量名:字母,数字,下划线,不能以数字开头。

    变量名定义规则:见名知意。首字母,下划线连接单词。

    ③变量内容:字符串,

    单引号:所见即所得。

    不用引号,双引号:先解析变量或者命令,然后输出。

    双引号可以把要定义的内容作为一个整体。纯数字不加引号。

    命令变量:反引号,括号

    变量名=`ls`
    变量名=$(ls)
    

    普通变量总结:

    ①在脚本中定义普通字符串变量,尽量把变量的内容使用双引号。
    
    ②纯数字的变量内容可以不加引号。
    
    ③希望变量的内容原样输出需要加单引号。
    
    ④希望变量值引用命令并获取命令的结果就用反引号或者$()
    
    ⑤$db_t,若变量后面有其他字符连接的时候,就必须给变量加上大括号{},例如$db_t就要改成${db}_t。
    
    ⑥变量名的定义要有一定的命令规范,并且要见名知意。
    
    ⑦变量定义使用赋值符号(=),赋值符号两端不要有空格。
    
  • 相关阅读:
    Python解释器安装
    有钱就放余额宝的人,这个习惯恐怕要改一改!
    这么详细的存储基础知识,你不看看? 会后悔的!
    超全!华为交换机端口vlan详解~
    华为:鸿蒙绝不是安卓换皮!!!
    VS Code 真的会一统江湖吗?
    用户与安全 -(1)Linux用户及组管理
    运维必看!这个技能薪水28.8万,工资竟然还只是零花钱....
    原来 Linux 日志文件系统是这样工作的~
    干货长文:Linux 文件系统与持久性内存介绍
  • 原文地址:https://www.cnblogs.com/cuiyongchao007/p/12791321.html
Copyright © 2011-2022 走看看