4.4shell脚本中的变量

## 1. 变量的定义

 

#### 定义本身
变量就是内存一片区域的地址
#### 变量存在的意义
#### 命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标可以解决此问题
## 2. shell 脚本中变量的定义方法
#### 环境级别
export a = 1
在环境关闭后变量失效
#### 用户级别

vim ~/ .bash_profile
export a = 1
#### 系统级别
vim / etc / profile
export a = 2
vim / etc / profile.d / westos.sh
export b = 3

## 变量名称
#### 变量名称可包含的字符
字母
下划线 _
数字
#### 变量名称定义规则
不能用数字开头

#### 建议
变量名称短全用大写字符
变量名称长用 _ 区分子类
WESTOS
Westos_Linux
westoS_Linux

#### 3. 变量的转译
# 1 ) 转译
\
# 转译单个字符
"" # 弱引用 批量转译个数字符 不能转译 " \ " "" "$" " ! "
''
# 强引用

# 2 声明
a = 1
echo $ab
echo ${a}b

# 3 变量的数组
a = ( 1 2 3 4 5 )
a$[a[ @ ] : 起始元素 id : 元素个数 ]
echo ${a[ 0 ]} ## 数组中第一个元素
echo ${a[ 1 ]} ## 数组中最后一个元素
echo ${a[ * ]} ## 数组中所有元素
echo ${a[ @ ]} ## 数组中所有元素

echo ${a[ @ ] : 0 : 3 } ## 数组中 13 个元素
echo ${#a[ @ ]} ## 数组中元素的个数
unset a[n] ## 删除数组中的第 n1 个元素 unset a
## 删除 a 这个数组
#### 4. Linux 中命令的别名设定
alias xie = 'vim'
## 临时设定

vim ~/ .bashrc
alias xie = 'vim'
## 只针对与用户生效
vim / etc / bashrc ## 针对系统所以用户生效
alias xie = 'vim'

unalias xie ## 删除当前环境中的 alias
#### 5. 用户环境变量的更改

设定方式
~/ .bash_profile
export PATH = $PATH :/ mnt
/ etc / bash_profile
export PATH = $PATH :/ mnt

 

# 1 ) 直接利用命令执行结果
$() |
## 优先执行
TEST = hostname TEST = $(hostname)
# 2 ) 脚本中的传参
非交互模式
$ 0 is / mnt / test.sh
<! 脚本本身 >
$ 1 is westos
<! 脚本后所输入的第一串字符 >
$ 2 is linux
$ 3 is redhat
$ * is westos linux redhat
<! 脚本后所输入的所有字符 "westos linux redhat" >
$ @ is westos linux redhat
<! 脚本后所输入的所有字符 'westos' 'linux' 'redhat' >
$# is 3
<! 脚本后
所输入的字符串个数 >

交互模式传参 :
read WESTOS
## westos 赋值
read p "please input word : " ## 输出提示语
s
## 隐藏输入内容

# 7. 脚本函数
定义
程序的别名
设定方式
WORD()
{
action1
action2
}
WORD 在脚本中就代表 action1 action2 这两个动作

 

# 练习脚本 #
sh create_user.sh
Please input username : westos
westos exist < output >> westos is exist > Please input username :
westos not existplease input password : 无回显密码
此用户会自动建立并且密码为提示后设定的密码
并显示 : westos is created
并再次提示 Please input username
Please input username exit
此脚本推出 #### 脚本书写思路
##### 判定 exit 推出
[ "$USER" = "exit" o "$USER" = "EXIT" ] && {
echo bye
} || {
进入判定用户是否存在
}
##### 判定用户是否存在
** 用户存在显示返回判定 exit **
id 用户名称变量 &> / dev / null && {
echo 用户存在
判定 exit
}
** 用户不存在建立用户返回判定 exit **
|| {
显示 please input password
建立用户
更改密码
显示用户建立成功
判定 exit
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值