第三章 环境变量

1. 全局环境变量

printenv       #显示所有的全局环境变量
set            #显示所有的全局环境变量 + 局部环境变量

2. 全局变量和局部变量的区别

2.1 全局变量

所谓的全局变量就是在一个shell环境中打开的所有子shell进程中都可以用;比如:

$test="hello,cao"     #新建一个局部变量
cat t                 
#!/bin/bash
echo "test=$test"
$ ./t             #局部变量只能在当前shell环境中有效
test=
export test         #把局部变量升级成全局变量
echo $test
hello,cao
 ./t                 #只要在此shell 环境中,运行的子程序都可以用全局变量
test=hello,cao

注意:即使是全局变量也只是在当前shell的子程序中有效,如果重新登录一台机器;全局变量也失效了。

2.2 删除一个全局变量

test="hello,cao"
export test
 ./t
test=hello,cao
unset test
./t
test=

3. 设置换变量

我们最常用的变量就是PATH变量了;我们在执行命令时发现 command not found   可以 which  command  看这个command 的目录是否在 PATH里面;如果不再把目录加到PATH里面即可;
PATH=:$PATH:/home/user/bin
export PATH                 #手动 export 一下PATH 这样可以让新加的PATH立马生效

其实 PATH 只是一个局部变量;但在每次登录shell后 在 .bash_profile 文件中 exoprt  PATH  所以,手动更新一下即可。

4. 定位系统的环境变量

  • 登录shell :当登录linux系统时,bash shell 会作为登录shell启动;登录shell 会从 4个不同的文件中读取需要执行的命令。【读取文件的顺序是从 1---->4】
             1. /etc/profile  :是 登录shell的主启动文件,只要登录linux系统,bash就会启动 /etc/profile文件中的命令;        
export PATH USER LOGNAME MAIL HOSTNAME HISTIZE HISTCONTORL

             2. $HOME/.bash_profile
cat .bash_profile 
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then             #如果 .bashrc 文件存在,先执行.bashrc 文件中的命令
        . ~/.bashrc
fi
# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/home/zhixia/bin/:/home/a/bin/:/home/zhengtai.csm/bin

export PATH
  • 交换shell:
如果 bash shell 不是登录linux系统时启动的,比如 scp 命令 远程cp数据;此时启动的shell 叫做交互shell;此时jiaohushell 会直接访问 $HOME/.bashrc   执行里面的命令
  • 非交换shell:
非交互shell就是执行 shell 脚本,./t.sh  时就是非交换的shell

5. 小结

环境变量就是用来给用户设置执行命令和脚本的环境的;用户可以在.bash_profile  .bashrc 里面设置一下命令;这样在登录shell时会自动执行这些命令;比如 export PATH等
最常见的应用就是用:alias  命令;这样可以避免每次都收入 复杂的命令
alias -p
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

alias test="ssh hostname"



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值