NO3.Shell脚本学习——编写Shell脚本

Shell脚本

  1. 用途:完成特定的、较复杂的系统管理任务。
  2. 格式:集中保存多条Linux命令,普通文本文件
  3. 执行方式:按照预设的顺序依次执行的命令

执行Shell脚本的方式:
1.bash test.sh
//不需要写解析器
//不需要给脚本设置执行权限

  1. ./test.sh
    //需要写解析器——脚本首行
    #!/bin/bash
    //需要给脚本设置执行权限
    chmod a+x test.sh

写个Shell的小例子
test.sh:

#!/bin/bash
echo '23123123'
echo 'disk space:'
echo
df -Th
echo
echo 'free space:'
free -m

小例子:每周五17:30 清理FTP服务器的公共共享目录
检查/var/ftp/pub/ 目录,将其中所有子目录及文件的详细列表、当时的时间信息追加保存到/var/log/pubdir.log日志文件中,然后清空该目录
示例:

vi /opt/ftpclean.sh
 `#!/bin/bash
 date >> /var/log/pubdir.log
 ls -lhR /var/ftp/pub >> /var/log/pubdir.lg
 rm -rf /var/ftp/pub/*

 crontab -e
 30 17 * * 5  /opt/ftpclean.sh`

Shell变量种类

  1. 用户自定义变量 name="user1" 引用:${name}
  2. 预定义变量
  3. 位置变量**

输入赋值:read [-p "信息"] 变量名
双引号:能解析变量
单引号:不能解析变量
反引号:解析命令并输出

删除变量:unset 变量名
位置变量(传参):

test.sh
#!/bin/bash
#test.sh
echo $1
echo $2
echo $3
echo $4
echo $5
echo $6
echo $7
echo $8

调用:sh test.sh 1 2 3 4 5 6 7 ...(最多识别9个)
执行结果:
1
2
3
4
5
6
7
...
预定义变量:
$#:命令行中位置参数的个数
$*:所有参数的内容
$?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0表示执行异常或出错
$0:当前执行的进程/程序名

shell计算
$(($1+$2)) (不需要转义) or expr 2 + 3 +4 (需要转义)
expr 4 * 2
expr 4 / 2
expr 4 % 2
and so on...

shell输入、输出
输入
``
echo -n||e
-n
-e可以解析转义字符

//设置字体颜色
echo -e "httped process \033[32;40m[OK]\033[0m"
\033[前景颜色;背景颜色m
\033[0m恢复到系统默认的颜色
前景颜色:30-37
背景颜色:40-47
<br/>**输出**<br/>
cat、head(首n行)、tail(尾n行)、tee(输出一份并保存一份)、nl(加行号)
``

转载于:https://blog.51cto.com/9victor9/2053130

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值