linux中级教程-中级shell
2015-07-01 23:02
405 查看
1、变量
linux中的变量分为两类,用户(环境)变量和临时(本地)变量。环境变量存在于所有shell中。本地变量存在于当前shell中,所以本地变量中一定有环境变量。注意是shell不是用户,所以如果一个用户打开了多个shell,它们之间的非环境变量的本地变量是不能共享的。
(1)环境变量的设置过程如下
每一次用户登录时/etc/profile文件被读取,设置变量
然后读取用户空间相同功能的文件 ~/.bash_profile
用户每一次新打开shell时,/etc/bashrc,设置变量
然后读取用户空间的文件~/.bashrc 事实上,在用户推出系统时,还会读取并执行~/.bash_logout 注意,如果向永远修改环境变量,只能在上述文件中修改。重新登陆(根目录下文件)或者重新打开shell(用户目录下才会)才会生效,如果想要立即生效,请输入source使该文件立即生效
(2)环境变量的查看方法如下
set 查看所有本地变量
env 查看所有环境变量
export 查看所有导出为环境变量的本地变量
export 查看所有导出为环境变量的本地变量
(3)设置环境变量
set var=value 设置本地临时变量(不是环境变量)
export var=value 设置环境变量,注意,该环境变量存储在内存中,只为该session保留,也就是说,如果你新建一个终端,必然不会存在
上述两着的区别就是,第一种不能被子shell所继承(注意不是共享,指示继承),而第二种可以。 这里简单介绍以下子shell的概念,当shell执行某一个脚本时,系统便自动创建了了一个子shell。子shell用于父shell所有环境变量的拷贝。
linux中的变量分为两类,用户(环境)变量和临时(本地)变量。环境变量存在于所有shell中。本地变量存在于当前shell中,所以本地变量中一定有环境变量。注意是shell不是用户,所以如果一个用户打开了多个shell,它们之间的非环境变量的本地变量是不能共享的。
(1)环境变量的设置过程如下
每一次用户登录时/etc/profile文件被读取,设置变量
然后读取用户空间相同功能的文件 ~/.bash_profile
用户每一次新打开shell时,/etc/bashrc,设置变量
然后读取用户空间的文件~/.bashrc 事实上,在用户推出系统时,还会读取并执行~/.bash_logout 注意,如果向永远修改环境变量,只能在上述文件中修改。重新登陆(根目录下文件)或者重新打开shell(用户目录下才会)才会生效,如果想要立即生效,请输入source使该文件立即生效
(2)环境变量的查看方法如下
set 查看所有本地变量
env 查看所有环境变量
export 查看所有导出为环境变量的本地变量
export 查看所有导出为环境变量的本地变量
(3)设置环境变量
set var=value 设置本地临时变量(不是环境变量)
export var=value 设置环境变量,注意,该环境变量存储在内存中,只为该session保留,也就是说,如果你新建一个终端,必然不会存在
上述两着的区别就是,第一种不能被子shell所继承(注意不是共享,指示继承),而第二种可以。 这里简单介绍以下子shell的概念,当shell执行某一个脚本时,系统便自动创建了了一个子shell。子shell用于父shell所有环境变量的拷贝。
相关文章推荐
- linux shell实现自动获取某地的天气和空气质量
- Shell中的&&与||的区别
- shell循环语句
- shell中使用>/dev/null 2>&1 丢弃信息
- bash array
- Android Busybox 下的adb,linux shell命令整理备忘 (2012-03-06 21:41:27)
- Shell常用招式大全之入门篇
- aspxshell下突破无可写可执行目录执行cmd
- 在C#中运行PowerShell
- WindowsAzure Powershell脚本定时启动关机Azure VM
- shell判断和比较
- linux下添加需要开机执行的自定义shell脚本
- shell变量详解
- shell脚本(二)
- shell变量说明
- BASH 进阶(转载防丢)
- shell查找文件并删除
- “UEFI虚拟机”以及“EFI SHELL”介绍
- shell脚本echo的换行操作
- shell 监控文件更新并同步到其它机器