美文网首页
“Linux命令行与shell脚本编程”-环境变量

“Linux命令行与shell脚本编程”-环境变量

作者: 刘小白DOER | 来源:发表于2020-09-09 18:57 被阅读0次

    全局变量对shell会话和所有生成的shell都是可见的,局部变量只针对创建他们的shell可见。printenv或者env可以查看全局变量。对于特定的变量使用printenv HOME或者echo $HOME查看,并不能使用env HOME.

    局部变量只能在定义他们的进程中可见,set命令可显示某个特定进程设置的所有环境变量,包括局部变量、全局变量以及用户自定义变量。

    myvalue=hello,echo $myvalue。但是如果给变量赋值一个含有空格的字符串值,这需要单引号来界定首位。系统环境变量是大写字母,自己创建的局部变量或者shell脚本,请使用小写字母。变量名区分大小写,自定义坚持小写可以避免重新定义系统环境变量可能带来的灾难。

    变量名、等号、值之间没有空格,这一点十分重要。局部变量在子shell中不能使用。同样的,在子进程中定义的变量,退出后也不能使用。创建全局变量的是先创建局部变量,然后再导入到全局变量。export myvalue。export 命令使其能够保留全局环境变量。修改子shell中的全局变量并不会影响父shell中的该变量的值。在子shell中,甚至无法使用export命令改变父shell中全局变量的值。

    unset myvalue可以删除全局变量,myvalue前没有$。加不加$的窍门:使用变量要加,操作变量不加,例外是printfenv显示变量值。在子shell中删除全局变量也不能反映到父shell中。

    PATH环境变量,外部命令的搜索路径。如果程序没有包含PATH变量中,不使用绝对路径的话,shell没有办法找到的。添加PATH变量值,PATH=$PATH:/?/? 。添加后,可以在虚拟目录结构中的任何位置执行程序。程序员一般讲单点也加入PATH变量中,单点符表示当前目录。当然这样修改只能持续到退出或者重启系统。

    /etc/profile文件是bash默认的主启动文件,用来迭代/etc/profile.d目录下的所有文件,用户登录时会执行这些文件。永久修改变量,可在/etc/profile.d下简历.sh文件,把修改过的全局变量放在这个文件中,不建议修改  /etc/profile,因为升级后会更新。

    myvalue=(one two three),echo ${myvalue[2]},定义输出数组变量。echo ${myvalue[*]}输出所有值。

    

    

    

    

相关文章

网友评论

      本文标题:“Linux命令行与shell脚本编程”-环境变量

      本文链接:https://www.haomeiwen.com/subject/xlydektx.html