if 条件
then
Command
else
Command
fi 别忘了这个结尾
If语句忘了结尾fi
test.sh: line 14: syntax error: unexpected end of fi
if 的三种条件表达式
if
command
then
if
函数
then
命令执行成功,等于返回0 (比如grep ,找到匹配)
执行失败,返回非0 (grep,没找到匹配)
if [ expression_r_r_r ]
then
表达式结果为真,则返回0,if把0值引向then
if test expression_r_r_r
then
表达式结果为假,则返回非0,if把非0值引向then
[ ] && ——快捷if
[ -f "/etc/shadow" ] && echo "This computer uses shadow passwors"
&& 可以理解为then
如果左边的表达式为真则执行右边的语句
shell的if与c语言if的功能上的区别
shell if c语言if
0为真,走then
正好相反,非0走then
不支持整数变量直接if
必须:if [ i –ne 0 ]
但支持字符串变量直接if
if [ str ] 如果字符串非0
支持变量直接if
if (i )
=================================以command作为if 条件===================================
以多条command或者函数作为if 条件
echo –n “input:”
read user
if
多条指令,这些命令之间相当于“and”(与)
grep $user /etc/passwd >/tmp/null
who -u | grep $user
then 上边的指令都执行成功,返回值$?为0,0为真,运行then
echo "$user has logged"
else 指令执行失败,$?为1,运行else
echo "$user has not logged"
fi
# sh test.sh
input : macg
macg pts/0 May 15 15:55 . 2075 (192.168.1.100)
macg has logged
# sh test.sh
input : ddd
ddd has not logged
以函数作为if条件 (函数就相当于command,函数的优点是其return值可以自定义)
if
以函数作为if条件,
getyn
then 函数reture值0为真,走then
echo " your answer is yes"
else 函数return值非0为假,走else
echo "your anser is no"
fi
if command 等价于 command+if $?
$ vi testsh.sh
#!/bin/sh
if
cat 111-tmp.txt | grep ting1
then
echo found
else
echo "no found"
fi
$ vi testsh.sh
#!/bin/sh
cat 111-tmp.txt | grep ting1
if [ $? -eq 0 ]
then
echo $?
echo found
else
echo $?
echo "no found"
fi
$ sh testsh.sh
no found
$ sh testsh.sh
1
no found
$ vi 111-tmp.txt
that is 222file
thisting1 is 111file
$ sh testsh.sh
thisting1 is 111file
found
$ vi 111-tmp.txt
that is 222file
thisting1 is 111file
$ sh testsh.sh
thisting1 is 111file
0
found
========================================以条件表达式作为 if条件=============================
传统if 从句子——以条件表达式作为 if条件
if [ 条件表达式 ]
then
command
command
command
else
command
command
fi
条件表达式
文件表达式
if [ -f file ] 如果文件存在
if [ -d ... ] 如果目录存在
if [ -s file ] 如果文件存在且非空
if [ -r file ] 如果文件存在且可读
if [ -w file ] 如果文件存在且可写
if [ -x file ] 如果文件存在且可执行
整数变量表达式
if [ int1 -eq int2 ] 如果int1等于int2
if [ int1 -ne int2 ] 如果不等于
if [ int1 -ge int2 ] 如果>=
if [ int1 -gt int2 ] 如果>
if [ int1 -le int2 ] 如果 和
分享到:
相关推荐
Linux Shell 编程基础教程 本资源为 Linux Shell 编程基础教程,涵盖了 Linux Shell 编程的基础知识,包括语法基本介绍、变量、环境变量、Shell 命令和流程控制等。 一、语法基本介绍 在 Linux Shell 编程中,...
Linux Shell编程入门实例讲解详解 Linux Shell编程是Linux系统中一种非常灵活的工具,通过shell编程可以自动化大量的任务,especially适合那些易用性、可维护性和便携性比效率更重要的任务。下面是Linux Shell编程...
Linux Shell 编程基础 Linux Shell 编程基础是 Linux 操作系统中一个非常重要的组件,它提供了一个交互式命令行界面,允许用户输入命令来执行各种操作。在 Linux 系统中,Shell 是一个命令解释器,它可以解释用户...
本书由浅入深、循序渐进地详细讲解了LinuxShell编程的基本知识。这些基本知识包括Shell编程的基本知识、文本处理的工具和方法、正则表达式、Linux系统知识等。 本书旨在通过理清Linux Shell编程的脉络,从基本概念...
Linux Shell编程是Linux系统中非常重要的一个环节,它允许用户通过命令行接口编写脚本,自动化执行一系列操作,极大地提高了工作效率。在这个主题中,我们将深入探讨Linux命令行基础以及Shell编程的相关知识。 首先...
Linux Shell编程是Linux系统管理与自动化任务的核心技术之一,它主要指的是使用Shell脚本来执行一系列命令,实现自动化操作。在Linux环境中,Bash(Bourne-Again SHell)是最常用的Shell,也是许多Linux发行版的默认...
但根据文件信息中的标题和描述,可以推断出本书内容涉及Linux Shell编程的基础知识和技能提升。下面将基于Linux Shell编程这一主题,详细说明相关知识点。 Linux Shell编程是学习Linux系统管理和自动化脚本的重要...
Linux Shell编程是Linux系统管理与自动化任务的核心技术之一。Shell脚本可以理解为Linux环境下的批处理程序,它允许用户通过编写脚本来执行一系列命令,从而实现自动化操作,提高工作效率。这本书《Linux Shell编程...
Linux Shell编程是Linux系统中非常重要的一个环节,它是一种命令解释器,同时也是脚本编程语言。Shell编程使得用户可以通过编写脚本来自动化重复性任务,提高工作效率。这份"Linux Shell编程手册"将引领初学者深入...
Linux Shell编程是Linux系统中非常重要的一个环节,它允许用户通过命令行接口执行各种操作,进行自动化任务处理。shell作为用户与操作系统之间的桥梁,提供了一系列强大的功能,包括脚本编写、文件管理、进程控制等...
Linux Shell编程是利用Shell语言进行的一种编程方式,它是Linux操作系统中不可或缺的一部分。Shell可以解释和执行用户输入的命令,同时也可以用于编写脚本程序,实现自动化的任务处理。Shell编程的主要特点包括定义...
Linux Shell编程是Linux系统管理与自动化任务处理的重要组成部分。它是一种命令行脚本语言,用于交互式地操作操作系统或编写批处理脚本。本资源包含了从初学到精通的Shell编程源码,共计4-17全阶段的学习内容,旨在...
实战Linux Shell编程与服务器管理 自己做的书签
在本资源包中,我们聚焦于“实战Linux Shell编程与服务器管理”。Shell编程是Linux操作系统中的核心技能之一,它允许用户通过命令行界面自动化执行任务,极大地提高了工作效率。以下是关于这个主题的一些关键知识点...
在Linux系统中,Shell编程是一项非常重要的技能,尤其是对于系统管理员和技术人员来说。尽管现代Linux系统提供了丰富的图形用户界面,但Shell仍然是一种极其强大的工具。Shell不仅能够执行一系列预定义的命令,还能...
Linux Shell编程基础是掌握Linux系统管理和自动化任务执行的关键技能之一。本文主要介绍如何开始编写Shell脚本,如何处理注释,以及如何执行脚本。同时,我们还将深入探讨Bash中的各种变量,包括环境变量、位置变量...
### Linux Shell编程知识点详解 #### 一、Shell编程概述 **Shell** 在 Unix/Linux 系统中扮演着极其重要的角色,既是用户与操作系统交互的主要接口,也是一种强大的编程语言。通过 Shell 编程,用户不仅可以自动化...
linux shell编程经典书籍,该版本为中文版,读懂这本书,你将成为Linux编程高手
linux Shell 编程视频,适合初学者
Linux Shell编程是Linux系统管理与自动化任务的核心技术之一。Shell不仅仅是一个命令行接口,它也是一种强大的脚本语言,能够帮助用户高效地执行一系列系统指令。本文将深入介绍Shell编程的基础知识,包括创建脚本、...