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

3.定义系统级变量

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

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

这里写图片描述

四.变量名称的规范

变量名称中通常包含大小写字字母,数字,下划线(不是必须),以字母开头
例如:a1 A3 aA等等
这里写图片描述

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

\ 转译单个字符
“” 弱引用,批量转译 “” 中出现的字符,
这里写图片描述
” 强引用,批量转译 ” 中出现的字符
这里写图片描述
” 与 “” 两者的区别在于, “” 不能转译 “\”,”`”,”!”,”$”
这里写图片描述
${} 变量声明

六.变量值的传递

1.
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
这里写图片描述

八.退出值 $?

? 退 [ 0 255 ] ( 1 ) 0=0 时标示命令执行没有错误输出
这里写图片描述
(2)当 $0!=0时表示命令执行可能有错误输出,也可能使用exit+数字改变了退出值
这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/jay_youth/article/details/80731320