1、shell script学习笔记Shell script一、shell script简要 类似Windows的批处理。一般脚本文件是在子程序上执行,但结果会在父程序上显示,所以变量内容在父程序上找不到;利用source来执行脚本,会直接在父程序上执行,变量内容也会在父程序上找到。二、shell script编写 使用vi或vim编写以.sh结尾的文件。#后接任何都是默认为批注,除第一行外;第一行#!/bin/bash 说明文件是以Bourne-Again shell来编写运行的;.sh可使用linux特殊功能a警告声 b退格键 n新的一行;可自行设置echo $?回传信息来判断脚本运行情况,例
2、如上图结束时回传100,证明脚本运行正常。三、shell script例子 1.内容输入 利用read来读取键盘输入,最后将读取到的信息输出到屏幕上。 2.文件/目录创建时间 利用date、touch创建文件或目录时,名字后接创建时间。 filename=$fileuser:-“filename” 为判断式 若用户直接按回车,则会以filename来命令;若用户输入,则以用户输入来命名。 3.运算 利用(运算式)来进行计算 +加 -减 *乘 /除 %余 4.检测及判断4.1.利用test来检测文件是否存在、哪种文件、具有什么权限等。 例子:判断文件类型: 4.2判断符号 要注意中括号内的格式。
3、四、shell script默认变量及参数偏移 1.默认变量$0脚本名$1、$2、$3$运行脚本的命令所含的参数$#运行脚本的命令所含的参数的个数$列出运行脚本的命令所含的参数$*与$类似2. 参数偏移 shift n : n为个数,默认为1五、判断语句 1.判断语句ifthenfi 2.判断语句ifthenelsefi 3.判断语句ifthenelifthenelsefi 4.例子 利用netstat tuln来获取正在运行的服务端口。80WWW22SSH21FTP25MAIL111RPC(远程)631CUPS(打印) 离开时间 根据用户输入时间减去当前时间得到离开时间。 5.判断语句casein.esac六、函数function 七、循环语句 1.不定循环语句whiledodoneuntildodone 例子 2.固定循环语句fordodone例子seq 意为连续 数值处理 八、检验与排查