定义
Shell在计算机系统中扮演着重要的角色,它是操作系统的最外层,提供了用户与操作系统之间交互的界面。Shell是一个命令解释器,它可以解释和执行用户输入的命令,将其传递给操作系统内核。此外,Shell也是一种脚本语言,允许用户编写脚本来自动化各种任务,从而提高效率和减少重复性工作,它支持编程元素如条件判断、循环控制、变量和函数等。Shell脚本是由一系列的Shell命令组成的文件,它们可以被Shell解释器直接执行。
用处
Shell的用途非常广泛,它可以用来控制进程和文件,启动和控制其他程序。Shell能够减少大量的重复输入和交互操作,实现批量处理和自动化维护,从而减轻管理层的负担。例如,Shell可以用于文本或字符串检索、文件查找或创建、软件自动部署、系统设置更改、服务器性能监控、发送报警邮件、网页内容抓取和文件压缩等。
shell脚本中的基本元素
脚本幻数(即脚本解释器,脚本运行的最优先指令,负责对脚本中其他命令进行解释)
程序主体(通常由命令,执行逻辑控制器和数据组成)
注释(脚本中的说明文字)
脚本中的注释方法
脚本中通常用#号注释单行内容
#yuyuyizhu
多行注释
: "
yuyuyi1
yuyi2
yuyi3
"
脚本的书写规范
脚本文件名应见名知意,例如backup_mysql.sh
文件开头指定脚本解释器 #!/bin/sh 或 #!/bin/bash
脚本中尽量不要用中文注释,防止本机或切换系统环境后中文乱码的困扰
多使用内部命令,如:echo、eval、exec、export、read、shift、exit
尽量用少的命令完成动
开头加版本特权等信息
利用缩进体现代码结构,更加利于后期阅读
vim用于书写脚本的设定
编写 vim ~/.vimrc
autocmd BufNewFile是当你创建新文件时自动执行命令
如下图创建以.sh或.script结尾的文件时就会自动执行
效果
脚本执行方法
在当前环境下运行
在指定环境中运行
脚本调试
sh -x lee.sh 显示执行过程效果
命令退出值
在UNIX或者Linux中,每个命令都会返回一个退出状态码 退出状态码是一个整数,其有效范围为0~255 通常情况下,成功的命令返回0,而不成功的命令返回非0值。非0值通常都被解释成一个错误码 行为良好的UNIX命令,程序和工具都会返回0作为退出码来表示成功。
查看和更改退出值
echo $? 查看退出值
exit (数字0~255) 修改脚本退出值