shell脚本中的变量

74 篇文章 0 订阅
26 篇文章 0 订阅

什么是变量
变量就是内存一片区域的地址
变量存在的意义
命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标可以解决此问题
shell中脚本变量的定义方法
环境级别
export a=1
在这里插入图片描述
这种变量设置在退出环境后消失
在这里插入图片描述
用户级别
vim /root/.bash_profile
在这里插入图片描述

环境变化后依然存在
在这里插入图片描述

切换用户,无法使用
在这里插入图片描述
系统级别
vim /etc/profile(主配置文件)
在这里插入图片描述
输出时可以发现系统级别的优先级高于用户
在这里插入图片描述
vim /etc/profile.d/westos.sh (profile.d目录下都是子配置文件)
在这里插入图片描述

在这里插入图片描述
变量的转译
\:转译单个字符
例如
vim check.sh
在这里插入图片描述
运行脚本
在这里插入图片描述
转译

在这里插入图片描述
运行脚本
在这里插入图片描述
“”:弱引用,批量转译个数字符,不能转译“\” “`” “$” “!”
在这里插入图片描述在这里插入图片描述

‘’:强引用 批量转译字符
在这里插入图片描述在这里插入图片描述
变量的声明
a=1
echo $ab
在这里插入图片描述
echo ${a}b
在这里插入图片描述
变量的数组
${a[0]}
在这里插入图片描述
${a[-1]}
在这里插入图片描述
${a[*]}
在这里插入图片描述
${a[@]}
在这里插入图片描述
*和@的区别
在这个实验中*代表"1 2 3 4 5" 一次打印
@则代表“1” “2” “3” “4” “5” 分开
可以用for循环证明
vim for.sh
在这里插入图片描述
只循环了一次
在这里插入图片描述
vim for.sh
在这里插入图片描述
循环了五次
在这里插入图片描述
脚本练习
sh users_create.sh userfile passfile
userfile中的用户会被全部建立且密码与passfile对应
vim userlist
在这里插入图片描述

vim passlist
在这里插入图片描述
vim users_create.sh
在这里插入图片描述
在这里插入图片描述
脚本测试
在这里插入图片描述
linux中命令的别名
alias zz=‘vim’ 临时设定
查看结果 zz
在这里插入图片描述
退出环境测试
在这里插入图片描述
针对用户生效
vim /root/.bashrc
在这里插入图片描述
测试zz
在这里插入图片描述
退出环境测试
在这里插入图片描述
切换用户测试
在这里插入图片描述
系统级别的别名
vim /etc/bashrc
在这里插入图片描述
切换用户测试 su - westos
在这里插入图片描述
删除别名
删除配置文件中添加的内容,查看别名
在这里插入图片描述
删除当前环境中的别名
unalias zz
在这里插入图片描述
用户环境变量的更改
环境变量:用户在操作系统时使用到的命令搜索路径
设定方式
用户级别
vim /root/.bash_profile
在这里插入图片描述
vim /mnt/westos.sh
在这里插入图片描述

此时不需要绝对路径就可以运行/mnt脚本
在这里插入图片描述
利用命令执行的结果设置变量
直接利用命令的执行结果
$()|`` 优先执行
例如 $(cat /etc/passwd)

‘cat /etc/passwd’
脚本中的传参
非交互模式
vim /mnt/westos.sh
在这里插入图片描述
运行,可以看出$0代表脚本本身
在这里插入图片描述

vim /mnt/westos.sh
在这里插入图片描述
运行,$1代表脚本后的第一串字符
在这里插入图片描述
vim /mnt/westos.sh

在这里插入图片描述
运行 ,$2代表脚本后的第二个字符串
在这里插入图片描述
vim /mnt/westos.sh
在这里插入图片描述
$*代表脚本后所根的所有字符
在这里插入图片描述
vim /mnt/westos.sh
在这里插入图片描述

$@代表脚本后所跟的所有字符,与$*的区别和数组相同
在这里插入图片描述
vim /mnt/westos.sh
在这里插入图片描述
$#代表脚本后所跟字符串的个数
在这里插入图片描述
交互模式传参
read
vim /mnt/westos.sh
在这里插入图片描述
sh westos.sh
在这里插入图片描述
read -p “xxxxxxxxxx” XXX -s:隐藏输入内容
在这里插入图片描述

在这里插入图片描述
脚本函数
定义:程序的别名
作用:在写脚本时可能会遇到多处重复字符,这时就可以使用函数
设定方式
NAME(){
内容
}
NAME 在脚本中就代表了函数内容
例如
vim westos.sh
在这里插入图片描述
运行:效果与ECHO函数效果一致
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值