`

linux shell 之结构化语法

 
阅读更多

一、case分支语句

 

     语法格式:     

case $变量名 in
                模式1)
            命令序列1
            ;;

                模式2)
            命令序列2
            ;; 

                *)
            默认执行的命令序列     
            ;; 
            
           esac 

    case代码实例

 

#!/bin/bash
read -p "press some key ,then press return :" KEY
case $KEY in
[a-z]|[A-Z])
echo "It's a letter."
;;
[0-9]) 
echo "It's a digit."
;;
*)
echo "It's function keys、Spacebar or other ksys."
;;
esac

 

其中read -p 是从控制台读取字符串

 

二、if分支

 

语法格式

    

if command
then
    commands
fi

或者
if command:then
    commands
fi

或者
if command
then
    commands
else
    commands
fi

或者

if command1
then
    commands
elif command2
then
     commands
fi

 

   test命令语法

   

if test condition
then
   commands
fi

或者

if [condition]
then
   commands
fi

 

    test数值的比较

    n1 -eq n2                        检查n1是否与n2相等

    n1 -ge n2                        检查n1是否大于等于n2

    n1 -gt n2                          检查n1是否大于n2

    n1 -le n2                          。。。。。

    n1 -lt n2                           。。。。。

    n1 -ne n2                         。。。。。。

 

    test字符串比较

    str1 = str2

    str1 != str2

    str1 < str2                  

    str1 > str2

    -n str1                       检查str1的长度是否非0

    -z str1                        检查str1的长度是否为0

    注意,使用的时候<或者 >需要转义\

 

    代码实例

   

#!/bin/bash
var1=10
var2=11

if [ $var1 -gt 5 ]
then
  echo "The test value $var1 is greater than 5"
fi

if [ $var1 -eq $var2 ]
then
  echo "The values are equal"
else
  echo "The valus are fifferent"
fi

运行结果:
The test value 10 is greater than 5
The valus are fifferent


需要注意的是[]左右内侧必须有空格,否则运行报错

 

   三、文件比较

    比较 描述
-d file 检查file是否存在并是一个目录
-e file 检查file是否存在
-f file 检查file是否存在并是一个文件
-r file 检查file是否存在并可读
-s file  检查file是否存在并非空
-w file 检查file是否存在并可写
-x file 检查file是否存在并可执行
-O file 检查file是否存在并属于当前用户所有
-G file 检查file是否存在并且默认组与当前用户相同
file1 -nt file2 检查file1是否比file2新
file1 -ot file2 检查file1是否比file2旧

   

  代码实例

  

#!/bin/bash
if [ -e $HOME ]
then
   echo "home exist"
else
   echo "home not exist"
fi

 

四、for语法

 

for var in list
do 
  commands
done

 

    实例

    

#!/bin/bash
for var in Alaska Ae we wer
do
  echo the next state is $var
done

运行结果:
$ sh fortest.sh
the next state is Alaska
the next state is Ae
the next state is we
the next state is wer

 

   解析文本文件,并循环输出文件内容

   

#!/bin/bash
IFS.OLD=$IFS
IFS=$'\n'
for entry in `cat /etc/passwd`
do
  echo "values in $entry"
  IFS=:
  for value in $entry
  do
    echo "   $value"
  done
done

IFS=$IFS.OLD

 

 

  while,until,..

分享到:
评论

相关推荐

    linux shell学习资料

    《Linux Shell编程艺术》可能会详细讲述Shell的语法特性,包括变量、条件语句、循环结构、函数定义、输入/输出重定向等。这本书可能会深入探讨如何利用Shell的高级特性,如正则表达式、管道、进程控制和信号处理,来...

    linux shell 编程经典 教程

    Linux Shell编程是Linux系统管理与自动化任务处理的重要组成部分。Shell是一种命令行解释器,它提供了与操作系统交互的接口,允许用户执行系统命令、编写脚本并进行文件操作。本教程将深入探讨Linux Shell编程的经典...

    Linux shell 脚本攻略

    Linux Shell脚本是Linux操作系统中一种强大的自动化工具,它允许用户通过编写脚本来执行一系列命令,实现系统管理和任务自动化。本书《Linux Shell脚本攻略》(第2版)深入浅出地介绍了Shell脚本的编写技巧和实战...

    linux shell脚本攻略源代码

    Linux Shell脚本是一种在Linux操作系统环境下执行的命令行脚本,它允许用户通过编写一系列的命令来自动化系统任务。Shell脚本是Linux环境中的强大工具,尤其对于系统管理员和开发者而言,能有效提高工作效率。本资源...

    Linux Shell 脚本攻略

    本攻略将深入探讨Linux Shell脚本的核心概念、语法结构以及实战应用。 1. **Shell基础** - **什么是Shell?** Shell是Linux操作系统中的一个命令解释器,它为用户提供了一个与操作系统内核交互的接口。 - **常见的...

    linux_shell从初学到精通

    Shell不仅是一个命令解释器,还是一种强大的编程语言,能够帮助用户自动化日常的系统管理任务。本教程“Linux Shell从初学到精通”旨在引导初学者逐步掌握Shell编程的基本概念和高级技巧。 首先,我们从基础开始。...

    LINUX SHELL 脚本攻略

    Linux系统中常用的Shell类型有多种,例如bash、ksh、csh、zsh等,不同的Shell有不同的语法和特性。Bash(Bourne Again SHell)是Linux系统中最普遍使用的Shell,本书应该也会重点介绍bash Shell脚本的编写技巧。 ...

    LINUX SHELL编程从初学到精通

    1. Shell基础:学习Shell的基本语法和结构,包括变量定义、基本命令的使用、输入输出重定向、管道(pipe)的使用等。这些基础知识是编写Shell脚本不可或缺的。 2. 脚本编写:掌握如何编写Shell脚本,通常以#!/bin/...

    linux shell 脚本入门

    Linux Shell脚本是Linux系统中用于自动化任务的强大工具,它基于Bash或其他Shell解释器,允许用户编写一系列命令,以实现批处理、任务调度或任何需要自动化的工作流程。本PDF文档"shell-script-entry.pdf"提供了18页...

    linux shell 编程1

    Linux Shell编程是Linux系统中非常重要的一个环节,它允许用户通过命令行接口编写脚本,自动化执行一系列操作,极大地提高了工作效率。在这个主题中,我们将深入探讨Linux命令行基础以及Shell编程的相关知识。 首先...

    linuxshell

    根据提供的信息,我们可以推断这本书主要讨论的是...熟练掌握Shell的基本命令和语法结构对于提高日常工作效率、实现自动化任务等方面都有着不可替代的作用。希望读者能够在实践中不断探索和学习,成为真正的Linux高手。

    LinuxShell脚本编程实例.doc

    Linux Shell脚本编程实例是指使用Linux操作系统的Shell来编写脚本程序,实现自动化任务、批处理和system administration等功能。本文将通过实例讲解Linux Shell脚本编程的基本概念、语法和应用。 一、基本概念 1. ...

    linux Shell 编程实例书一本

    Linux Shell编程是Linux系统管理与自动化任务的核心技术之一。Shell脚本可以理解为Linux环境下的批处理程序,它允许用户通过编写脚本来执行一系列命令,从而实现自动化操作,提高工作效率。这本书《Linux Shell编程...

    linux shell程序设计实验1

    Linux Shell程序设计是Linux系统管理与自动化任务处理的重要部分,主要使用Bash(Bourne-Again SHell)脚本来编写。在这个“linux shell程序设计实验1”中,我们将探讨如何利用基本的`case`和`if`语句来编写简单的...

    shell编程 创建shell脚本 shell 基础语法 shell流程控制语法 shell函数

    Shell 脚本是 Linux 系统中进行自动化任务处理的一种强大工具。下面将详细介绍创建 Shell 脚本、Shell 基础语法、流程控制语法以及如何定义和使用 Shell 函数。 首先,让我们理解一下 Shell 编程的基础。Shell 是...

    LINUX SHELL脚本攻略 中文版

    通过阅读《LINUX SHELL脚本攻略 中文版》,读者不仅可以学到SHELL脚本的基本语法,还能了解到如何利用SHELL脚本来实现自动化工作流程,提高工作效率。不论是初学者还是有一定经验的Linux用户,都能从中受益匪浅。而...

    《Linux shell脚本全面学习》pdf版电子书

    ### Linux Shell脚本...通过以上知识点的介绍,我们可以看到Linux Shell脚本不仅提供了强大的文本处理能力,还能通过流程控制结构实现复杂的逻辑操作。理解并掌握这些基础知识对于开发高效稳定的Shell脚本至关重要。

    Linux Shell语法速查表 用C语言语法来作对比

    通过以上对比分析,我们可以清晰地看到Linux Shell脚本与C语言在语法上的异同之处。这种对比不仅有助于加深对Shell脚本的理解,也能为那些习惯于使用C/C++的开发者提供一个快速过渡到Shell编程的方法。希望本文能够...

    Linux Shell Scripting with Bash

    - Bash 提供了丰富的功能,支持变量、数组、条件判断、循环等结构化编程特性。 **2. Bash Shell 脚本基础语法** - **脚本的第一行(shebang)** - 脚本的第一行通常以 `#!/bin/bash` 开始,指示系统使用 Bash ...

    Linux Shell Scripting Cookbook Linux Shell 脚本手册

    4. **结构化的学习路径**:本书遵循“Cookbook”系列的特点,每章按照特定主题展开,每一节都是一个独立的“食谱”,便于读者按需查阅。 - **示例**: 在“文件处理”章节中,你可以找到关于如何批量重命名文件的...

Global site tag (gtag.js) - Google Analytics