shell quick
这里写文章的前言:
一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
📝 主旨内容
linux基础—-shell速查
shebang机制
脚本基本结构
脚本调试
位置变量
注意变量
“ “ 弱引用,其中的变量引用会被替换为变量值
‘ ‘ 强引用,其中的变量引用不会被替换为变量值,而保持原字符串
只读变量
比如:$UID 如果UID可以赋值,那UID=0 是管理员就危险了
字符串
运算
文件测试
参数
作用
与-e相同,已经被弃用,但不推荐
文件存在性测试,存在为真,否则为假
是否存在且为块设备文件
是否存在且为字符设备文件
是否存在且为目录文件
是否存在且为普通文件
存在且为符号链接文件
是否存在且为命名管道文件
是否存在且为套接字文件
文件大小不为零
表示这是一个块设备 (软盘,光驱,等等.)
这是一个符号链接
文件是否具有可读权限
文件是否具有可写权限
文件是否具有可执行权限
if 语句
case 语句
bash配置文件
全局配置: /etc/profile /etc/profile.d/\*.sh /etc/bashrc
个人配置: ~/.bash\_profile ~/.bashrc
for语句
while
select
shift
将参数列表 list 左移指定次数,缺省为左移一次
函数
信号
数组
数组切片
字符串
字符串切片
示例
说明
${\\#var}返回字符串变量var的长度
${var:offset}
返回字符串变量var中从第offset个字符后(不包括第offset个字符)的字符开始,到最后的部分,offset的取值在0 到
${\\#var}-1之间(bash4.2后,允许为负值)${var:offset:number}
返回字符串变量var中从第offset个字符后(不包括第offset个字符)的字符开始,长度为number的部分
${var: -length}
取字符串的最右侧几个字符(注意:冒号后必须有一空白字符)
${var:offset:-length}
从最左侧跳过offset字符,一直向右取到距离最右侧lengh个符之前的内容
${var: -length:-offset}
先从最右侧向左取到length个字符开始,再向右取到距离最右侧offset个字符之间的内容(注意: -length 前空格)
查找替换
示例
说明
查找var所表示的字符串中,第一次被pattern所匹配到的字符串,以substr替换之
查找var所表示的字符串中,所有能被pattern所匹配到的字符串,以substr替换之
查找var所表示的字符串中,行首被pattern所匹配到的字符串,以substr替换之
查找var所表示的字符串中,行尾被pattern所匹配到的字符串,以substr替换之
查找并删除
示例
说明
删除var表示的字符串中第一次被pattern匹配到的字符串
删除var表示的字符串中所有被pattern匹配到的字符串
删除var表示的字符串中所有以pattern为行首匹配到的字符串
删除var所表示的字符串中所有以pattern为行尾所匹配到的字符串
字符大小写转换
变量赋值
变量配置方式
str没有配置
str为空字符串
str已配置非为空字符串
eval
bash Shell 提供了两种格式实现间接变量引用
expect
退出脚本级别
exit 退出脚本
break 跳出循环
continue 跳过本次循环
return 退出当前函数
技巧
写脚本时,可根据软连接的名称和原始文件名称不同,可以实现不同的功能
cat不支持缩进,脚本中更改,将行首使用TAB标记
🤗 总结归纳
总结文章的内容
📎 参考文章
- 一些引用
- 引用文章
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
Loading...
keepalived