学习笔记 shell脚本基础

简单的脚本文件文件,创建一个123.sh脚本。运行时显示当前目录和当前目录下的文件信息。

[root@localhost ~]# vi 123.sh
#!/bin/bash 
pwd
ls -al

学习笔记 shell脚本基础_第1张图片

bash解释器命令直接运行Shell脚本文件外,第二种运行脚本程序的方法是通过输入完整路径的方式来执行。但默认会因为权限不足而提示报错信息,此时只需要为脚本文件增加执行权限。

[root@localhost ~]# chmod 777 123.sh
[root@localhost ~]# ./123.sh
/root
total 80
dr-xr-x---. 14 root root 4096 Sep 26 14:22 .
drwxr-xr-x. 17 root root 4096 Sep  6 23:27 ..
-rwxrwxrwx.  1 root root   24 Sep 26 14:21 123.sh

接受用户参数
为了让Shell脚本程序更好地满足用户的一些实时需求,以便灵活完成工作,必须要让脚本程序能够像之前执行命令时那样,接收用户输入的参数
0 对 应 的 是 当 前 S h e l l 脚 本 程 序 的 名 称 , 0对应的是当前Shell脚本程序的名称, 0Shell#对应的是总共有几个参数, ∗ 对 应 的 是 所 有 位 置 的 参 数 值 , *对应的是所有位置的参数值, ?对应的是显示上一次命令的执行返回值,而$1、$2、$3……则分别对应着第N个位置的参数值

[root@localhost ~]# vi 123.sh

学习笔记 shell脚本基础_第2张图片
将参数放到脚本文件的后面 # ./123.sh 1 2 3 4 5 6 7 8 9
在这里插入图片描述
判断语句
文件测试所用的参数
-d 测试文件是否为目录类型
-e 测试文件是否存在
-f 判断是否为一般文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行
使用文件测试语句判断,然后通过Shell解释器的内设$?变量显示上一条命令执行后的返回值。如果返回值为0,则目录存在;如果返回值为非零的值,则意味着目录不存在
在这里插入图片描述
使用逻辑‘与’运算。当前面的命令执行成功后才会执行它后面的命令
在这里插入图片描述
使用逻辑‘或’运算。表示当前面的命令执行失败后才会执行它后面的命令
在这里插入图片描述
使用逻辑‘非’运算。表示把条件测试中的判断结果取相反值。也就是说,如果原本测试的结果是正确的,则将其变成错误的;原本测试错误的结果则将其变成正确的
在这里插入图片描述
整数比较运算符
-eq 是否等于
-ne 是否不等于
-gt 是否大于
-lt 是否小于
-le 是否等于或小于
-ge 是否大于或等于
测试一下10是否大于10以及10是否等于10
在这里插入图片描述
常见的字符串比较运算符
= 比较字符串内容是否相同
!= 比较字符串内容是否不同
-z 判断字符串.0内容是否为空
接下来通过判断String变量是否为空值,进而判断是否定义了这个变量
在这里插入图片描述
逻辑运算符来试一下。当用于保存当前语系的环境变量值LANG不是英语(en.US)时,则会满足逻辑测试条件并输出“Not en.US”(非英语)的字样
在这里插入图片描述

你可能感兴趣的:(学习笔记 shell脚本基础)