Bash Scripts ---part1

来源:互联网 发布:recovery清除数据 编辑:程序博客网 时间:2024/06/05 03:32

        Bash脚本类似批处理,简单来讲就是把许多的指令集合在一起,并提供循环、条件、判断等重要功能,语法简单实用,用以编写程序,大大简化管理员的操作,并可以完成图形工具所无法实现的功能。


创建新shell脚本:
1. 创建包含bash命令的文本文件。文件的第一行应为:
#!/bin/bash
2. 使文件可执行(使用chmod +x scripts)
3. 将文件放置在用户的$PATH的目录中
~/bin – 用于用户的私有程序
/usr/local/bin – 本地开发、系统上的其他人使用的脚本
/usr/local/sbin - 本地开发、由root使用的脚本

直接运行脚本和使用source命令运行脚本是不同的!


1.脚本调试模式:
#!/bin/bash -x
# bash -x scripts

2.引用和转义

***弱引用
将字符串放置在双引号中,保留字符串中所有字符的文字值,$、`、\和!字符除外。换言之,变量
扩展和命令扩展在双引号内仍起作用。


***强引用
将字符串放置在单引号中,保留字符串中所有字符的文字值,同时禁用所有扩展:

***转义
非引用的\是转义字符。它保留了下一个字符的文字值。(例如,\$PATH是确切的字符串$PATH,而
不是PATH变量的内容。)


3.Shell变量
shell变量用于为稍后在脚本中使用的名称指定值,并且仅限于shell命令行或从中声明变
量的脚本。
若要定义或指定值:
FRUIT=apple
若要参考或使用变量:
$FRUIT
${FRUIT}

4.算术运算符
算术运算符指的是可以在程序中实现加、减、乘、除等数学运算的运算符。
<VARIABLE>++ 增量后
<VARIABLE>-- 减量后
- 减法
+ 加法
** 幂运算
* 乘法
/ 除法
% 余数
+= 加等
-= 减等

Shell计算命令:
***用$[]表示数学运算

***用expr表示数学运算。


***用let指示数学运算。


***用(())表示数学运算。bash内建功能,效率高。

5.循环
for循环用于值列表中的相同命令的重复。

[root@server0 ~]# for HOST in host{1..3};do echo $HOST;done
host1
host2
host3
[root@server0 ~]# for NUM in $(seq 2 2 8);do echo $NUM;done
2
4
6

8

***循环输出1..10,1..10中的偶数,奇数


循环与计算结合:
#!/bin/bash
for ((i=1;i<=100;i++))
do
((j+=i))
#j=`expr $j + $i`
#let j+=i
#j=$[j+=i]
done
echo $j

也可以写成一行:
# for((i=0; i<=100; i++));do j=`expr $j + $i` ;done;echo $j

脚本示例:

1)数据库备份

数据库内容:要求加时间戳,并显示文件大小

备份脚本编写

执行脚本,备份成功

2)建立文件中用户,删除创建的用户

3)判断172.25.254.{1..10}的网络状态,显示状态

4)将/etc目录下的所有.conf文件备份到/mnt下的新建文件中,并加入时间戳

执行查看


5)实现5秒的倒计时

6)实现1分10秒的倒计时



原创粉丝点击