linux shell 学习笔记(三)--shell编程基础
来源:互联网 发布:eclipse的jar关联源码 编辑:程序博客网 时间:2024/05/09 09:35
1. #!(shebang) shell脚本文件第一行的前两个字符。#!后必须是解释程序的绝对路径。
2.#注释标识符。
3.在运行一个shell脚本之前要确保shell脚本文件具有可执行权限,否则会“permission denied”。
例:chmod u+x /.a.sh
4.bash中的参数扩展
字符“$”会引导参数扩展。
基本的参数扩展:
$参数
${参数} 注意:参数名是大小写敏感的。
间接参数扩展:
${!参数}
大小写修改
${参数^}
${参数^^}
${参数,}
${参数,,}
${参数~}
${参数~~}
操作符“^”将参数值得第一个字符改为大写,操作符“,”将参数值的第一个字符改为小写。
当使用双重模式(^^或,,)时,所有的字符都被转换。
变量名扩展
${!前缀*}
${!前缀@}
字符串移除:
${参数#模式}//开头匹配
${参数##模式}//开头匹配
${参数%模式}//末尾匹配
${参数%%模式}//末尾匹配
操作符“#”和“%”表示将移除匹配指定模式的最短文本,而操作“##”和“%%”表示移除匹配指定模式的最长文本。
字符串搜索与替换:
${参数/模式/字符串}
${参数//模式/字符串}
${参数/模式}
${参数//模式}
操作符“/”表示只替换一个匹配的字符串,而操作符“//”表示替换所有匹配的字符串。,如果没有指定替换字符串STRING,那么匹配的内容将被替换为空字符串,即被删除。
求字符串长度:
${#参数}
字符串扩展
${参数:OFFSET}
${参数:OFFSET:LENGTH}
使用默认值
${参数:-WORD} 如果参数为未定义,或为null时,这种模式会扩展WORD,否则将扩展参数。
${参数-WORD} 只有参数未定义是,才会使用WORD。
指定默认值:
${参数:=WORD}
${参数=WORD}
这种模式与使用默认值的模式类似,但其区别在于此种模式不仅扩展了WORD,还将WORD赋值给参数,作为参数的值。
使用替代值:
${参数:+WORD}
${参数+WORD}
如果参数是未定义的,或者其值为空时,这种模式将不扩展任何内容。
如果参数是定义的,且其值不为空,这种模式将扩展WORD,而不是扩展参数的值。
- linux shell 学习笔记(三)--shell编程基础
- 《Linux Shell编程学习笔记之三》
- Linux学习笔记三-Shell编程
- linux基础学习笔记-4-shell编程
- Linux Shell编程三:shell脚本基础
- Linux shell编程学习笔记(三) 脚本参数
- shell 编程学习笔记 (三)
- shell编程学习笔记三
- Linux Shell 学习笔记(三)--Shell变量
- Linux Shell 学习笔记(三)--Shell变量
- Linux学习(三)Shell编程
- 【Shell】【学习笔记】Linux Shell脚本应用(三)
- Linux Shell学习笔记三
- Linux学习笔记(2)-Shell基础
- Linux Shell 基础学习笔记
- Linux学习笔记-------shell基础
- Linux shell编程学习笔记(一) shell初探
- Linux Shell编程学习笔记
- OpenWRT 增加内核模块及应用方法
- 第十三周交通工具(2)
- Eclipse+gnuarmeclipse插件编译STM32CubeMX生成的工程
- oracle 异常错误处理
- gdb调试程序2
- linux shell 学习笔记(三)--shell编程基础
- 215. Kth Largest Element in an Array
- [译]图解Android应用的后台任务和提醒
- 菜鸟学android之一——xml文件常用属性总结
- Kmeans、Kmeans++和KNN算法比较
- 第十三周交通工具(3)
- 最小二乘与梯度下降的关联与区别
- 论文阅读笔记:You Only Look Once: Unified, Real-Time Object Detection
- html5中file对象