• shell脚本(一)环境变量


    base shell中环境变量分为两类:全局变量、局部变量

    全局环境变量

    全局环境变量对于shell会话和所有生成的子shell都是可见的。局部变量只对创建他们的shell可见。

    查看全部全局变量命令:env或printenv

    查看个别环境变量命令:printenv [变量名称]

    使用$打印变量

    echo $变量名称

    局部环境变量

    局部变量只能在定义他们的进程中可见。

    查看局部环境变量命令:set(set命令会显示出所有环境变量,包括局部变量、全局变量以及用户自定义变量)

    设置环境变量

    设置局部用户自定义变量

    命令格式:[变量名]=[变量值]

    定义变量时不允许有空格,否则空格后会被当成命令执行,如果变量值有空格可以用双引号来界定。

    设置全局变量

    创建全局变量的方法是先创建一个局部环境变量,然后再把它导出到全局环境中。

    命令格式:export [变量名]

    通过bash命令开启子shell(exit命令退出),查看父shell设置的全局变量。在子shell中修改全局变量并不会更改父变量值,只在自己当生效。

    删除环境变量

    可以用unset命令删除环境变量。

    命令格式:unset [环境变量名称]

    在处理全局变量时,在子进程中删除了一个全局变量只对当前子进程有效。

    设置PATH环境变量

    当在shell命令行输入外部命令时,shell必须搜索系统来找到对应程序。PATH环境变量定义了用于进行命令和程序查找的目录。

    查看PATH变量:echo $PATH

    PATH环境变量是用冒号隔开目录信息,所以如果想更高PATH变量可以直接引用原先值增加自己要追加的目录,如:

    PATH=$PATH:/home/script

    将目录驾到PATH目录中,就可以在任意目录执行命令(加入PATH程序的命令)。对PATH的修改只能到退出或重启系统,如果想一直有效可以修改/etc/profile文件,/etc/profile是系统默认bash shell的主启动文件。系统上每个用户登陆时都会执行这个启动文件,可以将更改命令加入到这个文件中。

    查看/etc/profile文件命令:cat -n /etc/profile

    观察profile代码,发现有for循环循环/etc/profile.d文件夹目录并执行里面可读文件,所以也可以将修改环境变量脚本(.sh脚本)加入到这个目录下也会生效(推荐这种方法,比加到/etc/profile文件中好,因为有些操作会更新/etc/profile文件,比如升级所用的发型版本)。

    数组变量

    环境变量可以作为数组使用,可以存多个变量,这些值可以单独引用,也可以作为数组引用。

    定义数组变量格式:[变量名]=(var1 var2 var3 var4),数组元素用空格隔开。

    定义数组变量:array=(zqq zqq1 zqq2 zqq3)

    输出数组变量默认输出第一个:echo $array

    输出数组固定元素:echo ${array[1]}

    输出数组全部元素:echo ${array[*]}

    修改索引位置的值:array[1]=zqq11

    删除索引位置的值:unset array[1]

    删除数组变量:unset array

  • 相关阅读:
    4. Java IO
    零基础真的可以学习Python吗?答案是:可以!
    spring的学习【1】
    21、wpf之绑定使用小记
    图像处理基本概念、GAN
    Hadoop3教程(十):MapReduce中的InputFormat
    网络安全-ACL应用
    yolov2
    220V交流转直流的简易电源设计
    第3章 语义陷阱
  • 原文地址:https://blog.csdn.net/zhaoqingquanajax/article/details/126594776