shell脚本笔记总结一
来源:互联网 发布:淘宝网臭豆腐4号碗 编辑:程序博客网 时间:2024/06/05 07:02
1.shell脚本的执行方法
当shell脚本以非交互的方式运行时,它会先查找环境变量ENV,该变量指定了一个环境文件(通常是.bashrc),然后从该环境变量文件开始执行,当读取了ENV文件后,SHELL才开始执行shell脚本中的内容。
shell脚本的执行通常可以采用以下三种方法:
- bash script-name 或者 sh script-name
- path/script-name 或者 ./script-name(当前路径下执行)
- source script-name 或 . script-name(注意符号“.”与 script-name之间有空格)
第一种方法是脚本文件本身没有可执行权限时,通常使用的方法;
第二种方法需要先将脚本文件的权限改为可执行,然后通过脚本路径就可以直接执行;
第三中方法是在当前shell环境中直接执行,而不是新创建一个子shell,当我们需要在一个脚本中使用另一个脚本中的变量的时候就使用第三种方法
2.bash的变量类型
根据变量的生效范围等标准可分为:
本地变量:生效范围为当前shell进程,对当前shell之外的其他shell进程包括当前shell 的子shell 进程均无效;
环境变量:生效范围为当前shell进程及子进程;
局部变量:生效范围为当前shell进程中某代码片段(通常指函数);
位置变量:$1, $2, …来表示,用于让脚本在脚本代码 中调用通过命令行传递给它的参数
特殊变量:
本地变量
变量赋值:name=‘value’
- 可以使用引用value:
(1) 可以是直接字串; name=“root”
(2) 变量引用:name=”$USER”
(3) 命令引用:name=COMMAND
name=$(COMMAND) - 变量引用:${name} $name
“”:弱引用,其中的变量引用会被替换为变量值
”:强引用,其中的变量引用不会被替换为变量值,而保 持原字符串 - 显示已定义的所有变量:set
- 删除变量:unset name
环境变量
- 变量声明、赋值:
export name=VALUE
declare -x name=VALUE - 变量引用:
name, {name} - 显示所有环境变量: env printenv export declare -x
- 删除变量: unset name
条件选择if语句
单分支
if 判断条件;then
条件为真的分支
fi双分支
if 判断条件; then
条件为真的分支代码
else
条件为假的分支代码
fi多分支
if 判断条件1; then
条件为真的分支代码
elif 判断条件2; then
条件为真的分支代码
elif 判断条件3; then
条件为真的分支代码
else
以上条件都为假的分支代码
fi
条件判断:case语句
case 变量引用 in
PAT1)
分支1
;;
PAT2)
分支2
;;
…
*)
默认分支
;;
esac
for循环
- for 变量名 in 列表;do
循环体
done
- 执行机制: 依次将列表中的元素赋值给“变量名”; 每次赋值后即执 行一次循环体; 直到列表中的元素耗尽,循环结束
while循环
while CONDITION; do
循环体
done
- CONDITION:循环控制条件;进入循环之前,先做一次判 断;每一次循环之后会再次做判断;条件为“true”,则执行 一次循环;直到条件测试状态为“false”终止循环
- 进入条件:CONDITION为true
- 出条件:CONDITION为false
until循环
- until CONDITION; do
循环体
done - 进入条件: CONDITION 为false
- 退出条件: CONDITION 为true
循环控制语句continue
用于循环体中
continue [N]:提前结束第N层的本轮循环,而直接进入下一 轮判断;最内层为第1层
while CONDTIITON1; do
CMD1
…
if CONDITION2; then
continue
fi
CMDN
…
done
脚本练习题
1.求0到50以内偶数的和。
2.打印九九乘法表
3.打印国际象棋盘
4.打印等腰三角形
5.
- shell脚本笔记总结一
- linux shell脚本总结一
- shell脚本学习笔记一
- shell脚本笔记(一)
- shell脚本学习笔记一
- SHELL 脚本命令总结(一)
- Linux Shell脚本攻略学习总结:一
- linux shell脚本攻略总结(一)
- bash shell脚本编程学习总结一
- Shell 脚本编程总结(一)
- shell脚本归纳总结(一)
- Shell脚本学习笔记(一)--预备知识
- shell脚本学习笔记 (一)
- shell脚本编写学习笔记一
- shell 脚本学习笔记(一)
- Shell脚本学习笔记(一)
- Shell脚本学习笔记(一)
- 【Shell】【学习笔记】Linux Shell脚本应用(一)
- ajax基础
- Spring Aop
- 【总结】-博客大赛之我见
- linux: 找到磁盘/目录中最大的n个文件
- python读取gzip格式及普通格式网页的方法
- shell脚本笔记总结一
- Python 文档阅读02
- 剑指offer(六)旋转数组的最小数字
- BZOJ3589动态树,BIT+容斥
- XML数据格式
- rxjs简单入门
- java设计模式之工厂模式
- Servlet实现日志管理
- PX4代码学习系列博客(5)——在px4中添加自己的模块