shell脚本shell编程:(shellbash(linux)->命令解释器
解释类编程语言
边翻译边执行
擅长文件处理,系统操作
开发效率高
执行效率低
移植性好
c语言:
编程型语言
先编译再执行
擅长数据计算和数据处理
开发效率低
执行效率高
移植性差配置
shell脚本的本质就是一系列shell命令的集合shel脚本编写流程:
1、vim XX.sh #!/bin/bash(第一行)
2、编写脚本
3、chmod(改变文件权限)+x(可执行权限)XX.sh
4、.1xxsh
备注:#
echo 等同于printf
-wx rwx r-x 1 linux linux 29 Aug 3 10:12 1.sh*
-普通文件,d目录,b块设备,c字符设备,h儿软链接(快捷方式),p管道,s网络文件(套接字)作者权限,读,w写,x执行 组用户(批量用户管理)
shell变量:
1、环境变量:env
LANG 语言 美式英文 全球统一字符型(UTF-8)(消除乱码)
PATH 保存当前工作的默认路径
2、位置变量
$0:脚本文件名
$1:传入脚本的第一个参数 $2:传入脚本的第二个参数
$#:传入参数的个数
$?:上一句shell命令执行的效果(成功返回0,失败返回1)
$$:当前shel的PID(正在运行的程序的编码)
3、shel脚本输入输出
脚本为弱类型语言,不需要定义类型,默认为字符型
输入:read
输出:echo
""双引,打印字符串,遇到$变量则打印变量中值
''单引,打印字符串,遇到$变量依然打印$变量
``反单引,将中间的字符串按照命令打印
乘法符号为\*
*:通配符,代表当前目录所有的
赋值号左右两边不能空格
(1)加减乘除运算:
(2)if语句
test ,【】语句格式如下,还有比较 -gt,-ge,-lt,-le,eq;
(3)判断一个文件是否存在,若不存在建立文件并写入
-b文件名,-e判断文件是否存在,-d目录,-l软连接(快捷方式),-普特文件,-s套接字
(4)case语句
a可以是字符串和数字,“;;“相当break,语法如下。
(5)循环语句
seq 0 100,从0到一百输出数;seq 20 5 100,从20到100每隔5个数字输出。
:wq