目录
一.什么是shell脚本
1.shell脚本是一种可以运行的文本
2.shell脚本本质是linux一条一条命令组合在一起,实现某个目的
3.shell脚本是一种解释型语言,不需要编译,只需要解析器进行解析

shell在Linux中是用户与内核通信的工具

常见的shell
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
cat /etc/shells

二.shell脚本的的基本元素
2.1脚本幻数
即脚本解释器,文件开头指定脚本解释器 #!/bin/sh 或 #!/bin/bash
2.2注释
脚本中的说明文字,不参与脚本执行,只是对脚本中的代码进行说明
shell脚本中的注释方法
单行注释

多行注释

2.3脚本规范
1.脚本命名要见名知意
2.脚本命令一般用小写字母,大写字母开头命名最好使用驼峰法进行命名,不能使用特殊符号或空格,以.sh结尾
3.文件开头指定脚本解释器 #!/bin/sh 或 #!/bin/bash
4.脚本中尽量不要用中文注释,防止本机或切换系统环境后中文乱码的困扰


三.vim用于脚本书写的设定--~/.vimrc
编写~/.vimrc可以在使用vim编写脚本时按照规则或简化书写


测试

四.脚本执行方法
4.1在当前环境下运行
在当前脚本指定的幻数环境运行脚本


. test1.sh
<ctrl> + Z #将进程打入后台
ps f
source test1.sh

4.2在指定环境中运行
在指定的幻数解释器运行脚本
sh test1.sh #使用/bin/sh来执行

使用绝对路径来运行脚本,要给脚本添加可执行权限
./test1.sh
-bash: ./test1.sh: Permission denied
chmod +x test1.sh
./test1.sh
/script/test1.sh #使用绝对路径来执行脚本


五.脚本调试



正常在运行脚本发现终端被卡住是不知道的,所以我们要调试脚本
bash -x test2.sh #指定解析器 + -x参数 脚本


六.命令退出值
6.1什么是退出值?
在UNIX或者Linux中,每个命令都会返回一个退出状态码
退出状态码是一个整数,其有效范围为0~255
通常情况下,成功的命令返回0,而不成功的命令返回非0值。非0值通常都被解释成一个错误码
行为良好的UNIX或者Linux命令,程序和工具都会返回0作为退出码来表示成功。
6.2查看和修改退出值
在执行不成功的命令的返回值都是非0
这里文件不存在的不成功返回值为2

这里显示终端卡住,不成功的退出值为130


修改脚本默认退出值
可以在脚本的最后一行添加 exit 退出值,来修改默认的脚本退出值
简单脚本练习
实验要求

vim show_ip.sh
. show_ip.sh ens160






1567

被折叠的 条评论
为什么被折叠?



