shell脚本

shell的定义:shell 是位于操作系统和应用程序之间,是他们二者最主要的接口,shell负责把应用程序的输入命令信息解释给操作系统,将操作系统指令处理后的结果解释给应用程序。
一句话,shell就是在操作系统和应用程序之间的一个命令翻译工具。
基本上shell分为两类:

  • 图形界面shell:
    即我们常说的桌面
  • 命令行式shell
    Windows系统:cmd.exe 命令提示符
    linux系统: sh / csh / ksh / bash / …

我们常说的shell是命令行式的shell,在工作中常用的是linux系统下的bash。
查看当前环境支持的shell:

[root@linux-node1 ~]# cat /etc/shells
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin

shell脚本:当可执行的Linux命令或语句不在命令行状态下执行,而是通过一个文件执行时,我们称文件为shell脚本。

脚本文件首行是而且必须是脚本解释器
#!/bin/bash

shell中的变量:

本地变量:( 普通变量、命令变量)在当前系统的某个环境下才能生效的变量,作用范围小。
普通变量:
变量名 = “变量值” 看见啥就赋值啥
命令变量:
变量名 = $(命令) 是将命令执行的结果赋值给变量
全局变量:在当前系统的所有环境下都能生效的变量。
可以通过命令查看环境变量
env
定义全局变量:
export 变量=值

查看变量:
"${变量名}"
取消变量:
unset 变量名

测试语句
Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0,表示成功,值为其他时,表示失败。使用专门的测试工具—test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值0为成立)
测试语句形式:[ 条件表达式 ]

逻辑表达式:一般用于判断多个条件之间的依赖关系
常见的逻辑表达式有: && 和 ||
命令1 && 命令2
如果命令1执行成功,那么我才执行命令2 – 夫唱妇随
如果命令1执行失败,那么命令2也不执行

命令1 || 命令2
如果命令1执行成功,那么命令2不执行 – 对着干
如果命令1执行失败,那么命令2执行

文件表达式
-f 判断输入内容是否是一个文件
-d 判断输入内容是否是一个目录
-x 判断输入内容是否可执行
示例:

[ -x age.sh ] || echo "文件没有执行权限"
文件没有执行权限
[ -x test.sh ] && echo "文件有执行权限"
文件有执行权限

数值操作符
n1 -eq n2 相等
n1 -gt n2 大于
n1 -lt n2 小于
n1 -ne n2 不等于
字符串比较
str1 == str2 str1和str2字符串内容一致
str1 != str2 str1和str2字符串内容不一致,!表示相反的意思

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值