SHELL (变量环境变量)

  • 前言
  • 一、shell脚本中变量的定义方法
  • 二、变量的转译
  • 1.转译
  • 2.声明
  • 3.变量的数组
  • 三、Linux中命令的别名设定
  • 四、用户环境变量的修改
  • 1.环境变量:
  • 2.设定方式:
  • 五、利用命令的执行结果设定变量
  • 1.直接利用命令执行结果
  • 2.脚本中的传参
  • 1.非交互模式
  • 2.交互模式传参



前言

shell变量是一种很“弱”的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义。所以若要进行数学运算,必须使用一些命令例如let、declare、expr、双括号等。shell变量可分为两类:局部变量和环境变量。局部变量只在创建它们的shell中可用。而环境变量则可以在创建它们的shell及其派生出来的任意子进程中使用。


一、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
	export b=3
4.变量名称
	"字符" "_” "数字" 
	不能用数字开头
建议:
	变量名称短全用大写字符
	变量名称长用_区分子类
		WESTOS
		Westos_Linux
		westoS_Linux

二、变量的转译

1.转译

1. \   ##转译单个字符 
 2. ""  ##弱引用,批量转移个数字符,不能转译"\" "`" "$" "!" 
 3. ''  ##强引用

2.声明

1. a=1
 2. echo $ab
 3. echo ${a}b

3.变量的数组

- a=(1 2 3 4 5)
 - echo ${a[0]}
 - echo ${a[-1]}
 - echo ${a[*]}
 - echo ${a[@]}

三、Linux中命令的别名设定

- alias xie='vim'    ##临时设定 
 - vim ~/.bashrc      ##只针对于用户生效 
 - aliasxie='vim'
 - vima/etc/bashrc    ##针对系统所以用户生效 
 - alias xie='vim'
 - unalias xie        ##删除当前环境中的alias

四、用户环境变量的修改

1.环境变量:

用户在操作系统时使用到的命令搜索路径

2.设定方式:

1. ~/ . bash_ profile 
 2. export PATH=$PATH:/mnt    
 3. /etc/bash_ profile    
 4. export PATH=$PATH:/mnt

五、利用命令的执行结果设定变量

1.直接利用命令执行结果

1.$ () | ``          ##优先执行
2.TEST=`hostname`   TEST=$(hostname)

2.脚本中的传参

1.非交互模式

1.$0 is / mnt/test.sh              ##脚本本身
2.$1 is westos                     ##脚本后所输入的第一串字符
3.$2 is linux
4.$3 is redhat
5.$* is westos linux redhat        ##脚本后所输入的所有字符"westos linux redhat"
6.$@ is westos linux redhat        ##脚本后所输入的所有字符'westos' 'tinux' ' redhat'
7.$# is 3                          #脚本后所输入的字符串个数

2.交互模式传参

1.read WESTOS             ##对westos赋值