Shell中脚本的变量

一.变量的定义

1.定义本身

变量就是内存一片区域的地址

2.变量存在的意义

命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标可以解决此问题

二.shell脚本中变量的定义方法

1.环境级别

export a=1
在环境关闭后变量失效	//当前环境生效

2.用户级别

vim ~/.bash_profile	//当前用户生效
export a=1

3.系统级别

vim /etc/profile	//全部生效
export a=2
vim /etc/profile.d/westos.sh	//westos用户生效
export b=3

4.实验

a=1
echo $a  //这个时候有1的输出
vim test.sh 
   echo $a
sh test.sh	//这个时候输出为空,因为a的赋值只存在与当前的shell,sh test.sh是另外的shell
export a=1	
sh test.sh	//这个时候有输出为1,export声明变量,当前shell的所有子shell都可以识别
logout
ssh -l root 172.25.254.100
sh /mnt/test.sh  //这个时候没有输出,因为shell关闭重新打开,之前的资源会被系统回收
vim ~/.bash_profile  //用户环境变量配置文件 
  1 # .bash_profile
  2 
  3 # Get the aliases and functions
  4 if [ -f ~/.bashrc ]; then
  5   . ~/.bashrc
  6 fi
  7 
  8 # User specific environment and startup programs
  9 
 10 PATH=$PATH:$HOME/bin:/mnt
 11 
 12 export PATH
 13 export a=1
source ~/.bash_profile  //使更改的信息生效
sh /mnt/test.sh //有输出
logout
ssh -l root 172.25.254.100
sh /mnt/test.sh	//有输出,不会因为shell关闭重新打开,资源被回收
su - westos
sh /mnt/test.sh	//没有输出,因为用户环境变量只针对与被设定过的用户生效,切换用户后失效,因为新切换的用户读取的是自己家目录中的 bash_profile 
su - //切换回root才可以设置系统级别的配置
vim /etc/profile  //系统级别的环境变量配置文件
vim /etc/profile.d/westos.sh	//系统级别的环境变量配置文件的子配置文件
 11 export a=1
su - westos
sh /mnt/test.sh //有输出,这时候每个用户都有输出
vim ~/.bash_profile
  1 # .bash_profile
  2 
  3 # Get the aliases and functions
  4 if [ -f ~/.bashrc ]; then
  5   . ~/.bashrc
  6 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值