今天天气非常晴朗,开启一天打卡学习~
Shell是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核。 (Shell语言是一种解释形语言,即写完不需要编译就可以运行。)
关于shell的一些基础概念理解
shell脚本就是一种专门使用shell编写的脚本程序,它虽然没有C++、Java、Python等一系列高级语言功能强大,但是在服务器运维领域以及嵌入式开发领域,shell脚本具有举足轻重的地位。
- 脚本语言定义:
为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。
程序代码即是最终的执行文件,只是这个过程需要解释器的参与,所以说脚本语言与解释型语言有很大的联系。脚本语言通常是被解释执行的,而且程序是文本文件。典型的脚本语言有,JavaScript,Python,shell等。
shell编写的基本步骤
- 建立shell文件
- 赋予shell文件可执行程序权限(使用chmod命令修改权限)
- 执行shell文件(直接运行赋予权限后的二进制文件)
shell变量
- Linux Shell中的变量分为,系统变量和用户自定义变量。
- 系统变量:
$HOME、$PWD、$SHELL、$USER等等,比如:echo $HOME等等. - 显示当前shell中所有变量:
set
变量定义
- 定义变量: 变量名=值
- 撤销变量: unset变量
- 声明静态变量: readonly变量,注意:不能unset
判断条件
两个整数之间比较
- 字符串比较
- -lt 小于(less than)
- -le 小于等于(less equal)
- -eq 等于(equal)
- -gt 大于(greater than)
- -ge 大于等于(greater equal)
- -ne 不等于(Not equal)
按照文件权限进行判断
- -r 有读的权限(read)
- -w 有写的权限(write)
- -x 有执行的权限(execute)
按照文件类型进行判断
- -f 文件存在并且是一个常规的文件(file)
- -e 文件存在(existence)
- -d 文件存在并是一个目录(directory)
多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令)