shell 中的变量

shell 中的变量

学习目标
变量的定义
在 shell 脚本中如何定义变量
变量的转译
linux 系统中命令别名的设定
用户环境变量的设定
利用命令执行结果设定变量
脚本函数

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

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

shell 脚本中变量的定义方法
环境级
export A=1
用户级
vim /.bash_profile
export A=1
系统级
vim /etc/profile
export A=1

环境级变量
shell 中的变量

用户级变量
shell 中的变量
shell 中的变量
用户级变量在切换用户和环境时失效su -student -代表同时切换环境
shell 中的变量
系统级变量
shell 中的变量
shell 中的变量
在读取变量的时候后读取的会覆盖前面的级,默认顺序是系统级最后读取,但是变量修改过后哪个级修改过哪个级就是最后读取,source 文件刷新相应修改过变量的级
shell 中的变量
添加PATH 可以直接以文件名字运行脚本
比如脚本放在了/mnt里可是现在所处/etc,添加一个PATH,系统就可以自己找到
添加一个用户级PATH
shell 中的变量
查看
shell 中的变量
变量名称的规范
变量名称中通常包含大小写字字母,数字,下划线(不是必须)
变量名称格式
WESTOS_LINUX
Westos_Linux
westoS_Linux
不能数字开头,只能加_
""不能引用`` 、 ! $

字符的转译及变量的声明
\
转译单个字符
“”
弱引用,批量转译 “” 中出现的字符,
‘’
强引用,批量转译 ‘’ 中出现的字符
‘’ 与 “” 两者的区别在于, “” 不能转译 “”,"`","!","$"
${}
变量声明
例如:
A=1
echo $Ab
echo ${A}b

变量值传递
$1 脚本后的第一串字符串
$2 脚本后的第二串字符串
$3 脚本后的第三串字符串
$# 脚本后所跟字符串的个数
$* 脚本后跟的所有字符串,模式为“ 1 2 3 ”
[email protected] 脚本后跟的所有字符串,模式为“ 1”“2”“3”
$ $ 当前运行程序id

测试
shell 中的变量

shell 中的变量

shell 中的变量对比$*和 [email protected]
shell 中的变量

shell 中的变量
shell 中的变量
用 read 实现变量传递
交互
read WESTOS
read -s WESTOS
read -p "input: " WESTOS

shell 中的变量
shell 中的变量
shell 中的变量
shell 中的变量
-s是将输入隐藏
shell 中的变量
shell 中的变量
实验脚本
输入ip查看是否可以连接
使用read
shell 中的变量
shell 中的变量
shell 中的变量
shell 中的变量

linux 系统中命令别名的设定
alias xie=‘vim’
vim ~/.bashrc
alias xie=‘vim’
vim /etc/bashrc
alias xie=‘vim’
unalias xie
相关操作
环境级
shell 中的变量
shell 中的变量
shell 中的变量
用户级
shell 中的变量
shell 中的变量
shell 中的变量
系统级
shell 中的变量
shell 中的变量
shell 中的变量
shell级只针对当前shell
shell 中的变量
shell 中的变量
别名的删除
首先删除各文件的写入
shell 中的变量
查看
shell 中的变量
unalias 别名 彻底清除
shell 中的变量
查看
shell 中的变量
利用命令执行结果设定变量
Hostname=$(hostname)
Hostname=`hostname后面也有点不过由于csdn问题无法正常显示
``通用
$只在shell
$?
$? 是命令在执行完成之后产生的退出值
范围是 [0-255]
当 $0=0 时标示命令执行没有错误输出
这个值可以用 exit 命令执行 .
例如 exit 66
shell 中的变量
shell 中的变量
shell 中的变量
shell 中的变量
脚本中的函数
脚本中的函数时把一个复杂的语句块定义成一个字符串的方法
函数脚本里的脚本
循环执行
脚本 输入exit或者EXIT退出
shell 中的变量
shell 中的变量
实验脚本
输入相应的字母进行相应的操作
用户的创建或者删除
第一部分
shell 中的变量
第二部分
shell 中的变量
第三部分
shell 中的变量
测试
shell 中的变量