shell script基础

简介: shell script是利用shell的功能所写的一个“程序”,这个程序使用纯文本,将一些shell的语法和命令(含外部命令)写在里面,搭配正则表达式,管道命令与数据流重定向等功能,达到我们所需要的处理目的。

shell script是利用shell的功能所写的一个“程序”,这个程序使用纯文本,将一些shell的语法和命令(含外部命令)写在里面,搭配正则表达式,管道命令与数据流重定向等功能,达到我们所需要的处理目的。

shell script的用途

  • 自动化管理的重要依据:管理主机的任务有查询登录文件、追踪流量、监控用户使用主机状态、主机各项硬件设备状态、主机软件更新查询等
  • 追踪和管理系统的重要工作
  • 简单入侵检测功能
  • 连续命令单一化
  • 简易的数据处理
  • 跨平台支持与学习历程较短

shell scrpit的注意事项

  1. 命令从上而下,从左至右分析和执行
  2. 命令、参数间的多个空白会被忽略
  3. 空白行也会被忽略
  4. 如果读取到一个Enter符号,就尝试执行该行命令
  5. 如果一行代码太多,可以用[enter]来进行扩展
  6. “#”作为批注

shell script如何进行执行

  • 直接命令执行
    • 绝对路径:/path/to/your/shell.sh
    • 相对路径: ./shell.sh
    • 将shell.sh存放在PATH指定的目录
  • 以bash进程来执行:bash shell.sh sh shell.sh

不同执行方法的区别

  • 利用直接执行的方式来执行script:该script会使用一个新的bash环境执行的脚本内容,中途产生的变量不会回传到父进程中
  • 利用source执行脚本,会在父进程中进行

shell script编程基础

shell script既然被称为一门“编程语言”,那么就相应的具有以下三个要素:

  • 基本表达式形式
  • 组合的方法
  • 抽象的方法

表达式

除了调用bc进行数值计算,我们还可以直接在bash中进行运算
var=$((运算内容)) 或 declare -i total=$number1*$number2 #+ - * / %

命名和环境

一般而言,运算结果都需要进行储存方便再次调用,所以就引入了变量。

var=value # 定义变量
unset value # 删除变量
echo $var # 显示变量
declare [-aixr] var #声明变量类型 -a:数组,-i:整形,-x:效果同于export,-r:变量设置为readonly,变量定义后默认为字符型

#通过交互获取用户输入的变量
read -p "提示信息" 变量名
#显示信息
echo -e "输出信息 $变量名"

变量分为环境变量和自定义变量,环境变量作用于全局bash进程,而自定义变量作用于当前bash进程。我们定义的变量都是自定义变量,可以使用export var定义为环境变量

复合过程

在其他编程语言中都有一种称为函数的抽象技术,shell script同样拥有。

#定义
function fname() {
}
# 例子
function printit(){
    echo -n "This is a simple test "
}
printit

然而仅仅有函数,知道如何定义变量还是不够,我们可能还需要对变量进行判断,需要重复进行运算,所以我们需要if条件判断,需要while和for的循环语句

条件判断语句

#!/bin/bash
if [判断1]; then
    执行内容
##多重判断
elif [判断2]; then
    执行内容
else
    执行内容
#结束 
fi

循环(loop)

# while do... done循环
while [condition]
do #循环开始
    程序段落
done #循环结束
#until do ...done循环
until [condition]
do 
    程序段落
done
# for...do...done(固定循环)
for var in cond1 cond2 cond3...
do
    执行语句
done
#或类似于C语言
for ((i=1;i<=$num;i=i+1))
do
    echo $i
done

shell script的追踪与调试

sh [-nvx] scripts.sh
-n : 不执行scripts,仅查询语言的问题
-v : 在执行scripts之前,先将scripts内容输出到屏幕上
-x : 将使用到的scripts输出到屏幕上

以上就是shell scripts编程的语法部分,仅供备忘。

目录
相关文章
|
3月前
|
Shell 开发工具
学习简单的shell script
【1月更文挑战第3天】学习简单的shell script。
47 3
|
3月前
|
Shell 开发工具
编写与执行一个shell script
【1月更文挑战第3天】编写与执行一个shell script。
44 1
|
8月前
|
Shell
12.3.3 Shell script 的默认变量($0, $1...)
12.3.3 Shell script 的默认变量($0, $1...)
51 0
|
9月前
|
JavaScript 前端开发 关系型数据库
Shell script + crontab实现Mysql定时备份
Shell script + crontab实现Mysql定时备份
76 0
Shell script + crontab实现Mysql定时备份
|
10月前
|
JavaScript 前端开发 Shell
Shell 和 Shell 脚本 (Shell Script)
Shell 和 Shell 脚本 (Shell Script)
208 0
|
Shell Linux C语言
Shell脚本语言基础
Shell脚本语言基础
|
Shell 测试技术
把书读薄-Shell入门基础
把书读薄-Shell入门基础
74 0
|
Shell Linux
Linux基础服务二进制一键安装shell脚本
Linux基础服务二进制一键安装shell脚本
123 0
|
Java Shell Linux
shell 基础
shell 基础
96 0
|
监控 算法 Java
Shell 编程基础与脚本规范
1 编程基础 1.1 程序组成 程序:算法+数据结构 数据:是程序的核心 算法:处理数据的方式 数据结构:数据在计算机中的类型和组织方式
250 0