初学Shell脚本(一)

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

前言

关于shell脚本,已经作为测试/运维必备的IT技能,平时用得少,但用的时候又开始百度手忙脚乱。
这里仅用来记录初次学习shell脚本的编写,它是从一条条shell命令开始的。

介绍

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。

-- 摘自菜鸟教程

编写我的第一个shell脚本
  1. 进入linux系统;在/opt或者/tmp目录下创建test.sh文件,vim test.sh 开始编辑:
[root@localhost /]# touch test.sh
[root@localhost /]# vim test.sh
find /data/logs/* -mtime +1 -type f -name "*2018*" -exec rm -rf {}
find /data/tomcat7_qgz/logs/* -mtime +1 -type f -name "*2018*" -exec rm -rf {} 
find /data/tomcat7_ndf/logs/* -mtime +1 -type f -name "*2018*" -exec rm -rf {} 
复制代码

tips: 在sh脚本第一行,应该写入#!/bin/bash 解释器信息,当然不写,sh test.sh也不会错;因为是sh解释器执行脚本

执行shell脚本的方式
  1. 方式很多种,先介绍第一种:sh

这就是上面提示的情况,就是不需要第一行有解释器信息

[root@localhost /]# sh test.sh
复制代码

tips: sh +x test.sh,参数x可以看到执行过程
2. 直接使用test.sh或者test执行

直接写test.sh ,linux系统会去PATH里寻找有没有叫test.sh的指令,而只有/bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,所以可以创建软链,这样就就是使用test.sh了

[root@localhost /]#  ln -s /usr/bin  /path/test.sh
复制代码
  1. 在当前目录执行./test.sh, 但是它需要有执行权限
[root@localhost opt]#  chmod +x test.sh
[root@localhost opt]# ./test.sh
复制代码

总结

本节介绍了如何创建编写shell脚本以及其运行方式,其中使用了比较高级的几个命令:ln、chmod;
下回遇到的时候再去分享。