看懂脚本文件即可

知识点:

Shell概述

Shell变量

Shell中的特殊字符

参数置换变量

控制结构

  1. 何为shell

    Shell就是unix提供给用户的使用界面,处于内核和应用程序之间,他是一个解释性语言,也是

    一种程序设计语言,也有自己的控制结构。

Solaris  shell脚本学习

Bash 比较普遍,包含 csh,ksh特色。

Solaris默认shell 是sh,不过我们切换到bash来写脚本。

Shell放在文件里面就变成了shell script 叫做shell脚本。

Solaris  shell脚本学习

指定一个shell去执行这个文件也可以。

Bash ls.sh

一般采用第三种方式,将文件设为可执行。

Solaris  shell脚本学习

Shell变量

变量就是一个容器,传递数据的方式。我们分临时变量与全局变量。

临时变量:在shell程序中定义的变量,全局变量就是环境变量,其值不随shell脚本的执行结束而消失。

在变量前面加上 前缀 $ .

赋值技巧:不能带空格,变量可以是数字也可以是目录,文件等。 或者说是字符串。是大括号不是小括号。

Solaris  shell脚本学习

Echo命令

一般对于输出格式的控制我们需要用到 \b \c \f 换页 \n 换行 \r 回车 \t 制表符 \v 垂直制表符

环境变量

是shell本身定义的变量,又称为系统变量。

MAIL SHELL DEITOR

Solaris  shell脚本学习

export命令

export命令有转出作用,相当于设置完全局变量后,要让其对其他进程有效。所有需要输出。

Solaris  shell脚本学习

环境变量PATH

决定了寻找shell命令和其他程序的途径,一般把常用 命令放在最前面。这个是影响shell程序效率之一。

预定义的特殊变量:

$* 位置参数 $# 参数个数 $$ 当前进程的pid

$! 最后一个进程的pid $? 最后一条命令的退出状态 $@ 与第一个有点像。

位置 参数:

Solaris  shell脚本学习

当位置参数超过9,怎么办?需要移动位置参数。Shift表示向左移动。

Shift移动的位数和个数有关,一般是整数倍,假如剩下的个数不足移动的位数,则剩下的无法移动。

Solaris  shell脚本学习

小脚本:第一句是程序会按照 bash里面的shell指令执行, -ne 表示不等于0;

$# 表示统计位置参数的个数,下面是6个位置参数,一个命令。

Solaris  shell脚本学习

输入输出命令

Solaris  shell脚本学习

键盘等都是标准输入,我们可以理解为输入流。

对于下面的 %s,其实可以改为 $x

Solaris  shell脚本学习

Solaris  shell脚本学习

Shell中的特殊字符

通配符:* 任意字符 ? 一个字符 [ ] 匹配多个字符 \ 转义字符

Solaris  shell脚本学习

引号: 双引号 、 单引号、倒引号

Solaris  shell脚本学习

记住:倒引号 优先执行,当然我们也可以用 -exec 或者 |xargs 实现。

Solaris  shell脚本学习

重定向符 > < >>

选择语句

注意语法。下面的;; 不可以少。不然会出错。

Solaris  shell脚本学习

While语句

Until 语句

For 语句

对于程序中的 while条件,必须要有两个 小括号,不然会报错。

Solaris  shell脚本学习

在shell程序中,变量可以不用先定义后使用,可以直接使用。

当下面的程序中,user 登录,才会结束,不然一直处于循环状态。

Solaris  shell脚本学习
其参数可以是 值表、文件正则表达式、位置参数

Solaris  shell脚本学习Solaris  shell脚本学习Solaris  shell脚本学习

注意区别下面{ }的作用。以及let 表达式的使用 。在shell程序中没有;分号。

Solaris  shell脚本学习

Solaris  shell脚本学习

Solaris  shell脚本学习

Solaris  shell脚本学习

 

流程控制语句

Solaris  shell脚本学习

Solaris  shell脚本学习

 

函数

函数名 ()

{

函数体

}

Solaris  shell脚本学习

相关文章:

  • 2021-09-28
  • 2021-08-30
  • 2021-04-26
  • 2021-07-08
  • 2021-10-12
  • 2021-07-25
  • 2021-05-26
  • 2020-06-26
猜你喜欢
  • 2022-01-13
  • 2021-09-07
  • 2021-12-07
  • 2021-09-23
相关资源
相似解决方案