首页 > 系统相关 >Linux系统Shell脚本第二章:条件语句

Linux系统Shell脚本第二章:条件语句

时间:2023-02-05 10:36:23浏览次数:40  
标签:语句 输出 Shell echo 命令 123 测试 Linux 格式

一、条件语句

1、测试

①test命令测试

②[   ]测试(注意前后需要有空格)

③[[   ]]加强版[   ],测试支持通配符和正则表达式

三种测试方法选项:

-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-a:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-x:测试当前用户是否有权限执行(eXcute)
-L: 测试是否为软连接文件

2、 比较整数数值

[ 整数1 操作符 整数2 ] 公式

  • -eq:第一个数等于(Equal)第二个数

  • -ne:第一个数不等于(Not Equal)第二个数

  • -gt:第一个数大于(Greater Than)第二个数

  • -lt:第一个数小于(Lesser Than)第二个数

  • -le:第一个数小于或等于(Lesser or Equal)第二个数

  • -ge:第一个数大于或等于(Greater or Equal)第二个数

[  整数1  操作符  整数2  ]
[root@test1 ~]# a=2        实例
[root@test1 ~]# b=3
[root@test1 ~] [ $a -eq $b ]
[root@test1 ~]# echo $?
1
[root@test1 ~]# [ 2 -le 3 ]
[root@test1 ~]# echo $?
0

3、字符串比较

常用的测试操作符

  • =:字符串内容相同

  • !=:字符串内容不同,! 号表示相反的意思

  • -z:字符串内容为空

  • -n: 字符是否存在

4、逻辑测试 

①格式1:[ 表达式1 ]  操作符  [ 表达式2 ]

②格式2:命令1    操作符    命令2

操作符:

&&或-a  表示且的意思,前面表达式或命令1为真才会执行操作符后面的表达式2或命令2。一假则为假。

||或-o   表示或的意思,前面表达式1或命令1为真则整个表达式为真,前面表达式为假或命令为假才会执行后面的表达式2或命令2 。一真则为真。

!   逻辑否。

二、脚本中常用命令

1. echo命令

echo命令:打印内容在窗口中

①echo   -n   表示输出不换行

②echo   -e   表示输出转义符       

echo  -e 配合转义符

\b  退格,删除前一个字符。例如 echo   -e  "1234\b56" 则输出的是12356,4会被删除。

\c  抑制更多输出,\c后的内容全部不输出。例如 echo -e   "123\c456"则输出的是123。

\n  输出换行,\n后的内容换行。例如 echo  -e  "123\n456  " 则输出123下一行输出456。

\t   相当于输出过程中按了一下tab键。 

\f   输出换行但是光标位置不变。例如echo -e  "123\f456"则输入123下一行开头空出123的位置然后再输出456

2. date命令

date命令:查看时间,显示格式为,星期  月   日 时分秒   年

选项:

+%F    输出格式年-月-日,注意%在crontab定时中不能直接使用,需要转义

+%T    输出格式时:分:秒, 注意%在crontab定时中不能直接使用,需要转义

3. cal命令

cal命令:显示当月日历。

选项:

cal    12  显示本年整年日历

cal    某年  显示此年完整日历

4. tr命令

tr命令:替换内容

基本格式:tr    需要替换的内容     替换后的内容

例如:  tr  [a-z]     [A-Z]  遇见小写字母全部转为大写字母 

选项:

-s    压缩功能。例如  tr  -s  aaa  输出a。

-d    删除功能。例如 tr  -d   abc 则输入123abc回车只会打印123。

-c    用字符串1中字符集的补集替换此字符集,例如 cat /dev/random | tr -dc [[:alnum:]]  | head -c 12。  /dev/random中是随机的字符内容         -dc 表示删除其他不需要内容   [[:alnum:]] 表示数字和字符      head   -c 12  表示取前12个字符,完整表达式意思为查看random文件并将非字符和数字内容删除然后取前12个字符,常用于生成随机密码。

5. cut命令

cut命令:提取想要的信息。

选项:

-d   指定分隔符   例如 cut  -d   ":"指定:为分隔符。

-f    选择第几列    例如  cut  -f3 取第三列,-f1,3取第1列和第三列,-f1-3取1-3列。

6. sort命令

sort命令:排序

选项:

-r 执行反方向(由上至下)整理

-n 按数字大小排序,默认第一列默认按字母顺序

-t 指定分隔符

-k 指定列 ,例如 -k3

7. uniq命令

uniq命令:去除连续的重复,一般配合sort使用

-c 显示每个重复出现的次数

split 命令:分隔大文件

-b 大小(例如1G) +要分隔文件名 加名称分隔指定名称,但是后面的xaa,xab不能指定,只能指定x。

8. cat多行重定向

cat   <<EOF

1

2

3

EOF 

打印123到屏幕

 

三、if语句

1. 使用格式

if   [条件判断]

then   (条件1成立则走then)

[执行命令] 

elif  [条件判断2 ]    (可添加多个elif )

then (条件2成立则走then)

[执行命令] 

else    (所有条件不成立则走else)

[执行命令] 

fi   (if结束语句)



2. if语句实例

学生输入分数判断自己的成绩是优秀(91-100)、良好(81-90)、及格(60-80)、不及格(小于60)

 

四、case语句

1. 使用格式

case   变量引用     in

PAT1)    符合条件1执行分支1的命令,PAT1可以使用通配符

分支1命令

;;   每个分支结束的固定格式

PAT2)    符合条件1执行分支2的命令,PAT2可以使用通配符

分支2命令

;;   每个分支结束的固定格式,可以有多个分支

*) 不符合其他任意分支的默认分支

默认分支命令

;; 分支结束的固定格式

esac   case语句结束标志

2. case语句实例

 

标签:语句,输出,Shell,echo,命令,123,测试,Linux,格式
From: https://www.cnblogs.com/daiwei-123/p/17092964.html

相关文章

  • Linux内网环境离线安装Git工具
    下载GitLinux下载地址:https://git-scm.com/download/linuxtar.gz包直链:https://www.kernel.org/pub/software/scm/git/git-2.36.1.tar.gz(注意版本号更新)解压tarxvf......
  • Linux进程和计划任务管理
    Linux进程和计划任务管理一、程序和进程的关系1、程序保存在硬盘、光盘等个质中的可执行代码和数据文件中静态保存的代码2、进程在CPU及内存中运行的程序代码动态执......
  • shell函数和数组
    一、函数1、函数使用方法定义函数再引用函数查看系统限制所有函数:declare-F看函数定义详细内容:declare-f 函数名  删除函数:unset 函数名 2、注......
  • Linux系统Shell脚本第一章:Shell脚本基础 + 时间同步
    一、Shell脚本基础1.什么是shell脚本?及构成就是将命令按顺序一一列出,最后自动执行执行需要权限,也可以直接使用绝对路径脚本其实不复杂,通用脚本环境改变后依然......
  • linux引导过程与服务控制
    linux引导过程与服务控制一、引导过程总览开机自检(BIOS)---->MBR引导---->GRUB菜单---->加载内核---->init进程初始化1.开机自检服务器主机开机以后,将根据主......
  • shell脚本——文本处理工具
      文本处理工具--grep、sed、awkBashShell提供了功能强大的文件处理工具:sed(流编辑器streameditor)和awk,都可使用正则表达式进行模式匹配。而grep又有......
  • shell脚本——函数与数组
     Shell脚本之函数及数组一、函数函数的作用语句块定义成函数约等于别名,定义函数,再引用函数封装的可重复利用的具体特定功能的代码函数的基本格式法一......
  • shell脚本——变量与条件语句
     文章目录 Shell:一般我们是用图形界面和命令去控制计算机,真正能够控制计算机硬件(CPU、内存、显示器等)的只有操作系统内核(Kernel),由于安全、复杂、繁琐......
  • shell脚本——正则表达式
     LinuxShell脚本之正则表达式一、常见的管道命令sort命令sort命令可针对文本文件的内容,以行为单位来排序格式:sort [选项] 参数常用选项选项  ......
  • Linux操作系统引导过程及故障修复
    1、引导过程总览1.开机自检服务器主机开机以后,将根据主板BIOS中的设置对CPU(CentralProcessingUnit,中央处理器)、内存、显卡、键盘等设备进行初步检测,检测成功后根据预......