Linux之shell学习(四)——变量

一.变量的定义

变量即在程序运行过程中它的值是允许改变的量,变量是用一串固定的字符来标示不固定的值的一种方法,变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息,在 shell 中变量是不能永久保存在系统中的,必须在文件中声明

二.在 shell 脚本中变量的种类

在 shell 中变量分为环境级变量,用户级变量,系统级变量。
环境级变量只在当前 shell 中生效, shell 关闭变量丢失;
用户级变量写在用户的骨文件中,只针对当前用户生效;
系统级变量被写在系统的配置文件 /etc/profile 或者 /etc/profile.d/ 中,对于所有用户都生效

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

1.定义环境级变量

export A=1

2.定义用户级变量

vim .bash_profile
export A=1
source .bash_profile

source 命令是重新加载,并且这种写在文加里面的方法不受用户终端环境的影响,但是只对该用户有效

3.定义系统级变量

注意:用户级变量的优先级高于系统级,因为用户级的配置文件后读

vim /etc/profile
export A=1
source /etc/profile

注意:修改之后一定要source重新加载文件

env可以查看系统的全部变量

四.变量名称的规范

变量名称中通常包含大小写字字母,数字,下划线(不是必须),以字母开头

例如:a1 A3 aA等等

五.字符的转义及变量的声明

\ 转译单个字符
"" 弱引用,批量转义 “” 中出现的字符, 

'' 强引用,批量转义 ” 中出现的字符 

''"" 两者的区别在于,"" 不能转义 "\","`","!","$" 

${} 变量声明

六.变量值的传递

1脚本后的第一串字符串
2 脚本后的第二串字符串
3脚本后的第三串字符串
# 脚本后所跟字符串的个数
$* 脚本后跟的所有字符串,模式为“ 1 2 3 ” 
@脚本后跟的所有字符串,模式为“1”“2”“3”和#的区别在后边是一串字符
$$ 当前进程的pid 

2.用 read 实现变量传递
read 变量名

read -p "input: " -s 表量名   -p表示输入交互语言 -s表示对输入的交互字符加密

七.linux 系统中命令别名的设定

1.给命令vim临时设定别名bianji

 alias bianji='vim'  

2.给超级用户永久设定别名bianji

vim .bashrc     
    alias bianji='vim'
  source .bashrc

3.给普通用户永久设定别名bianji

 vim /etc/bashrc
    alias bianji='vim'  给普通用户永久设定别名bianji
 source /etc/bashrc

4.在取消别名的时候我们发现如果只是删除配置文件中设定的那一行,再source是不能取消的,我们必须用unalias命令

unalias bianji 

八.退出值 $?

(1)?是命令在执行完成之后产生的退出值,范围是[0−255](1)当
0=0 时标示命令执行没有错误输出 
(2)$0!=0时表示命令执行可能有错误输出,也可能使用exit+数字改变了退出值 

猜你喜欢

转载自blog.csdn.net/qq_43570369/article/details/88752219