学习shell script,那么shell script是什么呢?其汉语意思是程序化脚本。其实shell script 是利用shell的功能所写的一个程序(program),这个程序是使用纯文本文件,将一些shell的语法与命令写在里面,搭配正则表达式,管道命令与数据流重定向等功能,以达到我们所想要的目的。
那么学习shell script都有什么好处呢?
(1)自动化管理重要依据
(2)追踪与管理系统的重要工作
(3)简单入侵检测
(4)跨平台支持与学习历程较短
反正shell script好处多多,自己可以一个个认真学习。
说了这么多应该进入正题了,那就让我们写一下我们的第一个script吧!
注意:
1 命令的执行是自上而下,从左至右的;
2 第一次输入Enter就开始尝试执行改、该行命令;
3 如果内容太多可以加”\Enter”;
4 #可以做批注,相当于C里面的//
第一个script来了
vim sh01.sh
!/bin/bash#program:
This program shows “hello world”
History
2016/7/6
echo -e “hello world!”
exit 0
至此第一个script就写完了
第一行#!/bin/bash 声明script的名称除了第一个#外,其他的都是批注用途。而做批注目的是便于以后管理这些script
只要的程序部分是 echo那一行,而exit是中断程序,并回传一个值给系统。
最后利用 sh sh01.sh 运行即可。
我们再看一个script
要求用户输入first name 和 last name,然后输出full name
vim sh02.sh
!bin/bash
program:
show person’s fulln name;
History
2016/7/6
read -p “please putin our first name!” firstname
read -p “please putin your last name” lastname
echo -e “\nYour full name is “firstnamelastname
然后运行,就能达到目的。read的功能是可以读取用户终端输入的东西
我们再看看几个常用语句的用法
1 判断式
(1) test
当我们检测系统上面某些文件的属性,权限时,利用test就再好不过了
1、图片大小不能超过2M
2、支持格式:.jpg .gif .png .bmp
比如 test -e/dmtsai &&echo “exist” ||”Not exist” 这时候就可以很快知道/dmtsai相关的东西了
(2)if…then…fi 这是简单的条件判断式
用法
if [条件判断式] then
条件成立时,需要做的事
fi –>将if反过来写1,结束if之意
2 循环
(1)while do done
while [判断式]
do —>程序的开始
程序段落
done –.循环结束
(2)unit do done
unit [判断式]
do
程序段落
done
这个和while恰好相反,当条件满足时不做,不满足时做。
(3)for do done
for var in con1 con2 con3….
do
程序段落
done
对于上面例子来说 var内容再循环时第一次var 内容为con1
依次就是 con2 con3…….