目录
1 概述
2 Shell脚本的执行方式
2.1 脚本格式要求
2.2 编写第一个Shell脚本
2.3 脚本的常用执行方式
2.4 shell的注释
3 Shell变量
3.1 变量的介绍
3.2 变量定义的规则
3.3 Shell变量的定义
4 Shell环境变量
4.1 基本语法
5 Shell位置参数变量
5.1 介绍
5.2 基本语法
5.3 应用实例
6 Shell预定义变量
6.1 介绍
6.2 基本语法
6.3 应用实例
7 Shell运算符
7.1 介绍
7.2 基本语法
7.3 应用实例
8 Shell判断语句
8.1 基本语法
8.2 常用判断条件
8.3 应用实例
9 Shell流程控制语句
9.1 if语句
9.2 case语句
9.3 for语句
9.4 while语句
10 Shell读取控制台输入
10.1 基本语法
10.2 应用实例
11 Shell函数
11.1 函数介绍
11.2 系统函数
11.3 自定义函数
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至编写一些程序。
创建一个Shell脚本,输出hello world:
方式1:
输入脚本的绝对路径或相对路径
首先需要赋予脚本+x权限,然后再执行脚本
方式2:(不推荐)
sh + 脚本(相对路径或绝对路径)
不用赋予脚本+x权限,直接执行即可
①单行注释:#
②多行注释:
:<<!
注释内容
!
基本语法:
定义变量:变量=值
撤销变量:unset 变量
声明静态变量:readonly 变量 注意:静态变量不能unset
当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量。
比如:./myshell.sh 100 200
这个就是一个执行shell的命令行,可以在myshell脚本中获取到参数信息
预定义变量就是shell设计者事先已经定义好的变量,可以直接在shell脚本中使用。
学习如何在Shell中进行各种运算操作
基本语法:
①
if [ 条件判断式 ];then
程序
fi
②
if [ 条件判断式 ]
then
程序
elif [ 条件判断式 ]
then
程序
fi
注意事项:
应用实例:
基本语法:
case $变量名 in
"值1")
如果变量的值等于值1,则执行程序1
;;
"值2")
如果变量的值等于值2,则执行程序2
;;
...省略其他分支...
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
应用实例:
基本语法:
①
for 变量 in 值1 值2 值3...
do
程序
done
②
for((初始值;循环控制条件;变量变化))
do
程序
done
应用实例:
基本语句:
while [ 条件判断式 ]
do
程序
done
应用实例:
read(选项)(参数)
选项:
-p:指定读取值时的提示符
-t:制定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待了
参数:
变量:指定读取值的变量名
Shell编程和其他编程语言一样,有系统函数,也可以自定义函数。
这里介绍两个:
①basename函数,返回完整路径最后/的部分,常用于获取文件名
基本语法:
basename[pathname][suffix]
basename[string][suffix]
basename命令会删掉所有的前缀包括最后一个/,然后将字符串显示出来。
选项:
suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。
②dirname函数,返回完整路径最后/的前面部分,常用于返回路径部分
基本语法:
dirname 文件绝对路径
从给定的包含绝对路径的文件名中去除文件名(非目录部分),然后返回剩下的路径(目录
部分)
基本语法:
[ function ] funname[()]
{
Action;
[return int;]
}
调用直接写函数名:funname [值]
()内不需要写形参
应用实例:
PS:根据尚硅谷课程整理,如有侵权,联系删除。