shell脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本相关的知识,希望对你有一定的参考价值。

一    test条件判断

  如果表达式为true,返回0退出状态,如果表达式为false,则返回非零退出状态。test具有替代语法,使用括号“[]”将表达式括起来,更易于阅读

 1。字符串比较运算符: = ; !=

  **) “ = ”  对两个字符串进行比较,相等则返回零推出状态,不相等则返回非零退出状态

 

 技术分享

 **)“ != ” 对两个字符串进行比较,不相等则返回零退出状态,相等则返回非零退出状态

 技术分享

  2、数字比较符运算:

   -eq   检测两个数是否相等,相等则返回ture

  技术分享

  **) 输入一个ip ,检测该主机是否开机,当没有输入ip时提示用户输入ip

 技术分享

  

  -ne    检测两个数是否相等,不相等则返回true

  -lt    检测左边的数是否小于右边的,如果是,则返回true

 技术分享

  -le    检测左边的数是否小于等于右边的,如果是,则返回true

  -gt    检测左边的数是否大于右边的,如果是,则返回true

  -ge    检测左边的数是否大于等于右边的数,如果是,则返回true

   *)输入两个数,将这两个数相加,判断他们的结果是否大于10

  技术分享

3、文件状态运算符: 

  -b file    检测文件是否是块设备,如果是,则返回true

  -c file    检测文件是否是字符设备文件,如果是,则返回true

  -d file    检测文件是否是目录,如果是,则返回true

  -f file    检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回true

  -w file    检测文件是否可写

  -x file    检测文件是否可执行

  -s file    检测文件是否为空,不为空则返回true

  -e file    检测文件是否存在,如果是,则返回true

  -L file    检测文件是否为链接,如果是,则返回true

 技术分享

  **)输入文件名,显示文件的状态

 技术分享

  技术分享

4.逻辑运算符,

 !   非运算,表达式为true时,则返回false,否则返回true

 -o   或运算,有一个表达式true则返回true

 -a   与运算,两个表达式都为true才返回true

 &&   返回为true时执行命令

 ||   返回为false时执行命令

二、if语句

 if命令检查if后面的命令或列表的退出值。如果第一个命令评估值为true,则运行then之后的命令列表,直至else。,如果第一个命令的评估为false非零,则运行else与fi之间的命令列表(反向写if,标记if块的结束)

示例:

   **)自动建立目标文件中的用户,并添加密码westos

  技术分享

三、expect语句

 在shell中利用exprct实现自动应答脚本

  *)自动应答ssh远程连接时的问题

  技术分享

 *)利用自动应答脚本远程连接主机并抓取该主机的主机名

 技术分享

四、 环境变量

 shell和脚本使用变量来存储数据,有些变量可以连同他们的内容传递给子进程,这些变量称为环境变量

 *)env  显示所有环境变量

  技术分享

 *)利用alias定义属于自己系统命令,将命令写入.bashrc文件永久生效

 技术分享

  ##讲“mv” 命令改为 “HH”

以上是关于shell脚本的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本--变量(后附简单shell脚本案例)!

shell脚本翻译 急求

shell脚本书写方法

如何在shell脚本里调用另一个shell脚本

shell脚本获取参数&在线执行shell脚本

shell脚本中#是啥意思