退出状态
Linux系统中,每个命令执行完成后,系统都会返回1个退出状态来表示命令执行是否正确
最后1次执行的退出状态值保留在内置变量 $? 中,通过echo $? 可判断命令是否执行成功
POSIX规定的几种退出状态值:
0 运行成功,未出现任何问题
1~125 运行失败,脚本命令,系统命令错误,或者参数传递错误等
126 找到命令但无法执行
127 未找到命令或无效命令
>128 命令被系统强制结束
测试命令
判断某个条件或某组条件是否成立,如果为真,则返回0,为假,则返回非0值
测试命令有两种方式:
test expression
[ expression ]
"[" 启动测试,在"[" 与 "]"之间,前后空格不能省略
第2种方式,常与if、case、while语句联合使用
整数比较运算符
-eq 等于
-ge 大于等于
-gt 大于
-le 小于等于
-lt 小于
-ne 不等于
num=100
[ "$num" -ge 100 ]
echo $?
字符串比较运算符
string 测试字符串是否不为空
-n string 测试字符串是否不为空
-z string 测试字符串是否为空
string1 = string2 测试字符串是否相等
string1 != string2 测试字符串是否不等
str1="Hello"
[ "$str1" = "hello" ]
echo $?
1 #退出状态为1,表示不相等
文件操作符
test file_operator File 或
[ file_operator File ]
File可以是文件名、目录、文件路径等
-d file 测试file是否为目录
-f file 测试file是否为普通文件
-e file 测试file是否存在
-s file 测试file长度是否不为0
-r file 测试file是否为可读权限
-w file 测试file是否为可写权限
-x file 测试file是否为可执行权限
-L file 测试file是否符号化链接
[ -d file_exam ] 判断文件是否为目录
[ -f file_exam ] 判断文件是否为文件
[ -e file_exam ] 判断是否存在,创建或删除1个文件后,判断是否创建或删除成功
逻辑运算符
用来与测试命令联合使用
与、或、非
! expression 非(not)
expression1 -a expression2 且(and)
expression1 -o expression2 或(or)
[ -e fiel1 -a -x file1 ] #测试fiel1是否存在且可执行
[ "$integer1" -lt 5 -o "$integer1" gt 10 ] #测试integer1小于5或者大于10
条件判断
根据不同的条件执行不同的语句
if
if expression
then
command1
command2
fi
注意:测试条件expression后面没有分号,则then语句必须换行
if和then可以处于同一行,必须使用 ";" 来终止if语句
if expression;then
command1
command2
fi
#!/bin/bash
echo "input your name"
read name #读取键盘输入,并赋值给变量name
if [ -z "$name" ];then
echo "name cannot be null"
fi
if...else
if expression;then
command1
command2
else
command3
fi
if...elif...else
if expression1;then
command1
command2
elif expressionN
command3
elif expressionX
command4
else
command5
fi
case选择
case variable in
value1)
comamnd1;;
value2)
command2;;
valueN)
commandN;;
*)
commandDefault;;
esac
case结构的变量值variable逐个与value1,value2,...,valueN进行比较,直到找到匹配项
如果找到,则执行该项下面的语句,遇到";;"时,直接跳出case到esac
否则,执行"*)"下面的语句,直到";;"时结束
#!/bin/bash
echo "input you favor number"
read number1
case "$number1" in
1)
echo "You are good!";;
2)
echo "You are bad!!";;
*)
echo "You are nothing!!!";;
esac
运算符
算术运算符
+ 加 (+=)
- 减 (-=)
* 乘 (*=)
/ 除 (/=)
% 取余 (%=) 10%3 = 1
** 幂运算 (**=) 5**3 = 125
位运算符
<< (<<=) 左移 即*2 左移n位,即乘以2的n次幂
>> (>>=) 右移 即/2 右移n位,即除以2的n次幂
& (&=) 按位与
| (|=) 按位或
~ (~=) 按位异或
^ (^=) 按位取反
自增自减运算
++variable 先自增再参与运算
variable++ 先参与运算再自增
--variable 先自减再参与运算
variable-- 先参与运算再自减
数字常量
Linux Shell默认将数字按10进制处理
如果要使用其它进制,需要对其进行特殊标记
当使用数字0作为前缀,表示8进制
当使用0x进行标记,表示16进制
另外,还可以使用#num进行标记
8# 则表示8进制,如8#75
16# 则表示16进制,如16#F9
注意:num#后面跟的数字不能超过其对于进制中最大数值范围
如,2#20则错误,因为2进制范围是0~1,2已经超出有效范围。
相关推荐
第一篇 Linux和C编程基础 第1章 Linux系统概述 1.1 Linux操作系统介绍 1.1.1 Linux的发展历程 1.1.2 Linux的特性 1.1.3 Linux的内核版本和发行版本 1.2 C语言简介 1.2.1 C语言的...
第一篇 Linux和C编程基础 第1章 Linux系统概述 1.1 Linux操作系统介绍 1.1.1 Linux的发展历程 1.1.2 Linux的特性 1.1.3 Linux的内核版本和发行版本 1.2 C语言简介 1.2.1 C语言的...
这篇复习资料专注于CentOS7,这是一个长期支持版本的Linux发行版,以其稳定性和企业级特性而受到欢迎。以下是对这些文件内容的详细解读: 1. **基础知识** (Linux上机实验1-基础知识.doc) - Linux系统结构:介绍了...
第一篇 Linux和C编程基础 第1章 Linux系统概述 1.1 Linux操作系统介绍 1.1.1 Linux的发展历程 1.1.2 Linux的特性 1.1.3 Linux的内核版本和发行版本 1.2 C语言简介 1.2.1 C语言的...
第一篇 Linux和C编程基础 第1章 Linux系统概述 1.1 Linux操作系统介绍 1.1.1 Linux的发展历程 1.1.2 Linux的特性 1.1.3 Linux的内核版本和发行版本 1.2 C语言简介 1.2.1 C语言的...
第一篇 Linux和C编程基础 第1章 Linux系统概述 1.1 Linux操作系统介绍 1.1.1 Linux的发展历程 1.1.2 Linux的特性 1.1.3 Linux的内核版本和发行版本 1.2 C语言简介 1.2.1 C语言的...
第一篇 Linux和C编程基础 第1章 Linux系统概述 1.1 Linux操作系统介绍 1.1.1 Linux的发展历程 1.1.2 Linux的特性 1.1.3 Linux的内核版本和发行版本 1.2 C语言简介 1.2.1 C语言的...
第一篇 Linux和C编程基础 第1章 Linux系统概述 1.1 Linux操作系统介绍 1.1.1 Linux的发展历程 1.1.2 Linux的特性 1.1.3 Linux的内核版本和发行版本 1.2 C语言简介 1.2.1 C语言的...
第一篇 Linux和C编程基础 第1章 Linux系统概述 1.1 Linux操作系统介绍 1.1.1 Linux的发展历程 1.1.2 Linux的特性 1.1.3 Linux的内核版本和发行版本 1.2 C语言简介 1.2.1 C语言的...
第一篇 Linux和C编程基础 第1章 Linux系统概述 1.1 Linux操作系统介绍 1.1.1 Linux的发展历程 1.1.2 Linux的特性 1.1.3 Linux的内核版本和发行版本 1.2 C语言简介 1.2.1 C语言的...
第一篇 Linux和C编程基础 第1章 Linux系统概述 1.1 Linux操作系统介绍 1.1.1 Linux的发展历程 1.1.2 Linux的特性 1.1.3 Linux的内核版本和发行版本 1.2 C语言简介 1.2.1 C语言的...
这篇文章主要聚焦于如何利用if语句判断一个目录是否存在,这对于编写自动化脚本或者进行系统验证时尤其实用。以下是对标题和描述中所述知识点的详细说明: 1. **if语句基础** if语句在bash shell编程中用于基于...
Bash(Bourne-Again SHell)是最常见的Linux Shell,本篇将详细讲解Bash的基础知识,包括脚本语法、变量使用、条件判断和循环结构。 1. Linux Bash Shell脚本语法入门: 在Bash脚本中,第一行通常为`#!/bin/bash`...
这篇文章系列涵盖了从基础到进阶的Shell编程知识,包括变量、条件判断、循环结构、函数定义、文件处理以及错误处理等方面。 首先,让我们从基础开始。在Shell编程中,变量用于存储数据,可以通过`变量名=值`的形式...
第一部分,基础篇,会引导读者了解SHELL的基本概念,包括SHELL的种类(如Bash、Ksh、Csh等),如何启动和退出SHELL,以及SHELL变量和环境设置。这一部分还将介绍SHELL脚本的基本结构,如如何编写注释、定义变量和...
本篇将深入探讨Linux Shell在实际工作中的应用及其重要性。 一、Shell的基本概念 Linux Shell是一种解释器,它接收用户输入的命令并执行。常见的Shell类型有Bash(Bourne-Again SHell)、C Shell、Korn Shell和Z ...
书籍内容涵盖了C语言的多个基础知识点,包括编程环境的搭建、Linux基础命令、C语言的基本语法、数据类型、变量、内存模型、运算符和表达式等。下面详细展开介绍这些知识点。 首先,书中提到了C语言的入门示例——...
**Shell基础知识12篇** Shell,作为Linux和Unix操作系统中的命令解释器,是用户与操作系统交互的重要工具。它不仅能够执行系统命令,还能通过编写脚本实现自动化任务,极大地提高了工作效率。以下是一些关于Shell的...
本篇文章将深入探讨Linux Shell编程的核心概念、常用命令以及如何编写实用的Shell脚本。 一、Linux Shell简介 Linux Shell是Linux操作系统中的一种命令解释器,它为用户提供了一个与系统交互的界面。常见的Shell有...
- 涵盖了条件判断语句的使用,包括文件测试操作符、数值比较以及其他逻辑运算符。 8. **第8章:运算及相关话题** - 包括了算术运算符、数值常量等内容。 9. **第9章:变量再探** - 进一步探讨了内部变量、字符...