linux's docs

13.1.0: 脚本基础-什么是脚本


1. shell脚本是什么

概念:shell(壳),是用户与linux系统沟通的工具界面,scripts(脚本),文本程序。
搭配功能:系统命令(含外部命令)、正规表示法、重定向、管道符号。
用途:自动化运维,提高工作效率
特点:

  • 它是一种脚本语言,并非编程语言
  • 可以使用一些逻辑判断、循环等语法
  • 可以自定义子函数

2. shell脚本结构

基本结构:

  • 声明bash路径
  • 程序简要描述(功能、目地等)
  • 作者、时间
  • 程序代码

基本结构示例:

## 声明bash路径
#!/bin/bash
# 程序简介,其实就是个注释
# This is a hello world programe
# 作者及脚本时间
# Created by Zhao Peiwu on 15/12/2014

# 程序主体,程序的执行顺序是从左向右,从上至下
echo "Hello World!"

3. shell脚本执行方式

执行方式:

  • "文件路径/xx.sh" 前提是执行此脚本的用户对此文件拥有x权限chmod +x xx.sh
  • "bash/sh xx.sh" bash或者sh都可以直接执行脚本文件(sh xx.sh)

参数:

  • "-x" - 查看脚本执行过程

PS:sh是bash的软连接

执行示例:

## 用路径打开shell脚本

# 给脚本文件增加可执行权限
chmod u+x /usr/local/sbin/hw.sh
/usr/local/sbin/hw.sh
Hello World!
## 限制:普通用户必须对脚本文件同时拥有读取和执行权限才可以运行



## 用bash或sh打开shell脚本

# 将脚本移动到PATH变量包含的目录中执行
bash hw.sh
bash: hw.sh: No such file or directory
mv /tmp/hw.sh /usr/local/sbin/hw.sh
bash hw.sh
Hello World!
sh hw.sh
Hello World!
## 限制:bash和sh命令执行脚本时,并不需要脚本拥有执行权限,只要可读即可


## sh和bash之间的关系

# sh是bash的软连接
ll /bin/sh
lrwxrwxrwx. 1 root root 4 Sep 20 19:33 /bin/sh -> bash

Contents