shell脚本笔记总结一
2017-08-27 23:07
204 查看
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=
COMMANDname=$(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 变量引用 inPAT1)
分支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层的本轮循环,而直接进入下一 轮判断;最内层为第1层
while CONDTIITON1; do
CMD1
…
if CONDITION2; then
continue
fi
CMDN
…
done
脚本练习题
1.求0到50以内偶数的和。2.打印九九乘法表
3.打印国际象棋盘
4.打印等腰三角形
5.
相关文章推荐
- Bash Shell脚本编程笔记总结(一)
- 顶嵌学员学习笔记:Shell脚本编程总结
- shell笔记-全面总结-强化脚本编写能力
- Shell 命令--paste--总结自《Linux Shell 脚本攻略》
- shell脚本学习笔记之grep&正则表达式
- Shell脚本学习笔记(八)--进程管理和工作控制
- Mongodb总结1-启动和Shell脚本
- shell脚本学习笔记
- 【Shell】【学习笔记】Linux Shell脚本应用(三)
- shell脚本中28个特殊字符的作用简明总结
- SHELL 脚本学习总结
- shell 脚本 常用总结
- Shell脚本学习笔记(十)--文件操作
- BASH命令和SHELL脚本总结(4)AWK篇
- shell脚本攻略- grep 文本查找总结
- shell脚本高级进阶小总结
- 0409学习总结2(shell脚本文件的学习)
- shell 脚本练习。笔记
- linux运用shell脚本统计列出目录文件个数(学习笔记)
- shell脚本系列-grep用法总结