1.什么是shell?
shell脚本可以将很多条命令放到一个文件里面,然后直接运行这个文件。
shell脚本就是将连续执行的命令写成一个文件。
2.shell脚本第一行一定要为:
#! /bin/bash 或 #! /bin/sh
3.推荐书籍:《鸟哥的私房菜(基础学习篇)》, 里面专门有两三章,是讲shell脚本的。
4.shell脚本语法:
1. 互式shell脚本:read

read 命令一次读取两个变量:

这就是一个简单的交互式的shell脚本;
2. hell脚本的数值计算
shell仅支持整形,数值计算使用$((表达式)),不支持浮点型 。

运行正确如下:

注意:

3. test命令
test命令用于查看文件是否存在、权限等信息,可以进行数值,字符,文件三方面的测试。
&& 和 || 命令:shell中的 && 和 || 和逻辑 与 或 不一样;
cmd1&& cmd2当cmd1执行完并且正确,那么cmd2开始执行,如果cmd1执行完毕错误,那么cmd2不执行
cmd1 || cmd2 当 cmd1 执行完毕并正确,那么cmd2不执行,反之cmd2执行。
现在查看当前目录下,某一个文件是不是存在:

4. 中括号[]、判断符
[ ] ==或 !=
4.1 判断两个字符串是否相等:== 和 != 用test判断的

4.2 中括号判断符 []两个字符串是否相等

无论是 直接给出的 字符串 还是引用的 变量 都需要添加双引号 "$firststr" == "$secondstr"
下面是不加双引号的情况:

错误提示参数太多:

这是因为:

所以提示参数太多,这是因为 判断了 a b == "a b" , 就是没有把 a b当成一个字符串进行比较;
5.默认变量
一般情况下,$var与${var}是没有区别的,但是用${ }会比较精确的界定变量名称的范围
$0~$n,表示shell脚本的参数,包括shell脚本命令本身,shlle脚本命令本身为$0
$#:#表示最后一个参数的标号。
$@:表$1、$2、$3......



5.1 补充:
Linux shell脚本之 if条件判断 - DoubleLi - 博客园 (cnblogs.com)
1、

注意:也可以直接 exit 退出;










浙公网安备 33010602011771号