shell脚本之环境变量

环境变量

用户级文件

root家目录下的隐藏root用户文件
[root@des ~]# vim .bash_profile
export a=1
[root@des ~]# exit
[kiosk@foundation1 ~]$ ssh [email protected]
###系统文件需要重启
[root@des ~]# sh /mnt/test.sh 
1

shell脚本之环境变量_第1张图片
shell脚本之环境变量_第2张图片

[root@des ~]# su - student
[student@des ~]$ sh /mnt/test.sh 
###无输出

shell脚本之环境变量_第3张图片

[student@des ~]$ vim .bash_profile
###无export a=1项

shell脚本之环境变量_第4张图片

[student@des ~]$ exit
[root@des ~]# ls -a
[root@des ~]# vim .bash_profile
###有export a=1项
#####

shell脚本之环境变量_第5张图片
shell脚本之环境变量_第6张图片

针对不同的用户会有不同的用户级文件

还原
shell脚本之环境变量_第7张图片

对所有用户生效,系统级变量

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行;并从/etc/profile.d目录的配置文件中搜集shell的设置
/etc/bashrc:对所有用户生效;为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取
[root@des ~]# source /etc/profile
[root@des ~]# sh /mnt/test.sh 
5
###读取变量后,写入文件生效
[root@des ~]# su - student
[student@des ~]$ sh /mnt/test.sh 
5
###切换用户以及环境,仍然可以显示

shell脚本之环境变量_第8张图片
shell脚本之环境变量_第9张图片

[root@des student]# echo $PATH
###查看shell

[root@des ~]# chmod 777 /mnt/test.sh 
[root@des ~]# /mnt/test.sh 
1
[root@des ~]# test.sh
bash: test.sh: command not found...
[root@des ~]# vim .bash_profile
export PATH=$PATH:/mnt

shell脚本之环境变量_第10张图片

[root@des ~]# exit
[kiosk@foundation1 ~]$ ssh [email protected]
[root@des ~]# test.sh
5
###重启后生效

shell脚本之环境变量_第11张图片

[root@des ~]# vim /etc/profile
export a=10
[root@des ~]# vim /etc/bashrc 
export b=5
[root@des ~]# su - student
[student@des ~]$ echo $a
[student@des ~]$ echo $b
[student@des ~]$ su
[root@des ~]# echo $a
10
[root@des ~]# echo $b
5
###,若数字有误,将影响本次实验的其他实验数据还原

在这里插入图片描述
在这里插入图片描述

注意: 变量不能数字开头 元字符、 转义符只能引用 弱引用"" 强引用'' $$当前开启的shell 弱引用""不能转义/ ! ' $,应使用强引用''
[root@des ~]# a=#
###给a赋值
[root@des ~]# echo a
a
###输出a
[root@des ~]# echo $a
###输出赋给a的值
[root@des ~]# echo #
###不显示元字符

shell脚本之环境变量_第12张图片
转义字符\

[student@des root]$ echo  \*
*
[student@des root]$ echo  \**#
**#
[root@des ~]# echo \* *
* anaconda-ks.cfg Desktop Documents Downloads Music Pictures Public tast Templates Videos
###\只能转义字符串

shell脚本之环境变量_第13张图片

交互式的定义变量

read -p “input” 显示
read -s 隐藏

#!/bin/bash
[ -z $1 ] && {
        echo " input  "
        exit
}
[ -e $1 ] && {
        read -p " welcom "   ###输出字符,enter后继续下一命令
        vim $1
}

shell脚本之环境变量_第14张图片

###将-p换为-s,内容不显示,enter继续下一命令
#!/bin/bash
[ -z $1 ] && {
        echo "Please input filename "
        exit
}
[ -e $1 ] && {
        read -s " welcom,enter your passwd  "
        vim $1
}

在这里插入图片描述
在这里插入图片描述
命令别名

alias

格式

alias xie='vim'
注意,此更改具有临时性
[root@des ~]# alias xie='vim'
[root@des ~]# xie file
[root@des ~]# exit
[kiosk@foundation1 ~]$ ssh [email protected]
[root@des ~]# xie file
bash: xie: command not found...
###退出后失效,说明是暂时性的

shell脚本之环境变量_第15张图片
在这里插入图片描述

[root@des ~]# vim .bashrc
###root用户的环境变量
alias xie='vim'
[root@des ~]# xie file
bash: xie: command not found...
[root@des ~]# source .bashrc
###重新加载
[root@des ~]# xie file
[root@des ~]# su - student
[student@des ~]$ xie file
bash: xie: command not found...
###切换用户后失效,说明只对root用户起作用

shell脚本之环境变量_第16张图片

shell脚本之环境变量_第17张图片

还原

[student@des ~]$ su
[root@des student]# cd ~
[root@des ~]# ls -a
[root@des ~]# vim .bashrc
#alias xie='vim'

shell脚本之环境变量_第18张图片

实验

[root@des ~]# vim /etc/bashrc 
alias xie='vim'
###编辑用户级环境变量

shell脚本之环境变量_第19张图片

[root@des ~]# source /etc/bashrc 
###重新读取文件
[root@des ~]# xie file
[root@des ~]# su student
###切换用户
[student@des root]$ xie file
[root@des ~]# su 
[root@des ~]# su - student
###切换用户及环境
[student@des ~]$ xie file

shell脚本之环境变量_第20张图片
shell脚本之环境变量_第21张图片

[root@des student]# vim /etc/bashrc 
#alias xie='vim'
###还原

在这里插入图片描述

[root@des student]# vim /etc/profile
alias xie='vim'
###编辑系统级环境变量
[root@des student]# source /etc/profile

在这里插入图片描述

[root@des student]# su student
[student@des ~]$ xie file
bash: xie: command not found...
###切换用户后‘写’不可用
[student@des ~]$ su - student
[student@des ~]$ xie file
###切换环境及用户,可用

shell脚本之环境变量_第22张图片

你可能感兴趣的:(shell脚本之环境变量)