`

linux shell (三)shell编程

阅读更多

一、基本操作

1、echo $SHELL

2、重定向 >    >>    <    <<

wc << test
> hello world
> just do it
> over
> test
 3  6 28

3、管道 command1 | command2   command1的输出作为command2的输入

4、数学运算

expr num1 opt num2  (opt = + - * / >= <= > < !=  | & %)

$[num1 opt num2]

解决浮点数运算使用bc的scale: c=`echo "scale=5;$a / $b" | bc`

 5、每个命令都有退出状态码 $?

0:命令成功结束

gt 0: 命令出错

exit 0

二、结构化命令

#!/bin/bash
#descrip: it's a test 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/xiaolong.hou/bin:/usr/local/jdk1.7/bin:/usr/local/maven/bin:/usr/local/hadoop-1.2.1/bin

if grep $USER /etc/passwd
then
        echo 'SUCCESS'
else
        echo 'FALIUR'
fi
exit 0

 

 1、test的condition  []

数值比较: -eq  -ge  -gt  -le  -lt  -ne

字符串比较:=   !=    >   <   -n(length is not zero)   -z   (注:大于小于得转义,否则成重定向)

文件比较:-d   -e   -f   -r   -s  -w  -x  -O(is owned by current user?) -G(default group same as current group)   -nt(newer than)   -ot(older than)

 2、复合条件

[ condition1 ] && [ condition2 ]

[ condition1 ] || [ condition2 ]

3、高级特性:(( expresion ))   [[ strExpression字符串比较 ]]

expression:(++   --  !  ~   **   <<   >>    &   |   &&   ||  )  (>  <  =  )    (注:> < 不需要转义)

strExpression:pattern matching

4、case

case var in

    pattern1 | pattern2) command1;;

    pattern3) command2;;

    ...

    *) default command;;

esac

5、for  while  util

for var in list

do

    command

done

更还分隔符:

空格:

制表:

换行:IFS=$'\n'  $'\t'

IFS.old=IFS

...

IFS=IFS.old

#!/bin/bash
#descrip: test 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/xiaolong.hou/bin:/usr/local/jdk1.7/bin:/usr/local/maven/bin:/usr/local/hadoop-1.2.1/bin
for file in /data/*
do
	if [ -d $file ]
	then
		echo $file is a dictory
	elif [ -f $file ]
	then
		echo $file is a file
	fi
done
exit 0

 

 

 

#!/bin/bash
#descrip: test 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/xiaolong.hou/bin:/usr/local/jdk1.7/bin:/usr/local/maven/bin:/usr/local/hadoop-1.2.1/bin
for((i = 1; i <= 10; i++))
do
        echo "loop test: "$i
done

var=10
while [ $var -gt 0 ]
do
        echo "while test: "$var
        (( var-- ))
done
n=1
until [ $n -eq 10 ]
do
        echo "until test: "$n
        (( n++ ))
done
exit 0

 

#!/bin/bash
#descrip: test 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/xiaolong.hou/bin:/usr/local/jdk1.7/bin:/usr/local/maven/bin:/usr/local/hadoop-1.2.1/bin

IFSOLD=$IFS
IFS=$'\n'
for line in `cat /etc/passwd`
do
        echo "line: "
        IFS=:
        for field in $line
        do
                echo "   "$field
        done
done
IFS=$IFSOLD
exit 0

 

分享到:
评论

相关推荐

    LinuxShell编程基础教程.pdf

    Linux Shell 编程基础教程 本资源为 Linux Shell 编程基础教程,涵盖了 Linux Shell 编程的基础知识,包括语法基本介绍、变量、环境变量、Shell 命令和流程控制等。 一、语法基本介绍 在 Linux Shell 编程中,...

    linux Shell编程入门 实例讲解详解

    Linux Shell编程入门实例讲解详解 Linux Shell编程是Linux系统中一种非常灵活的工具,通过shell编程可以自动化大量的任务,especially适合那些易用性、可维护性和便携性比效率更重要的任务。下面是Linux Shell编程...

    LinuxShell编程基础.pdf

    Linux Shell 编程基础 Linux Shell 编程基础是 Linux 操作系统中一个非常重要的组件,它提供了一个交互式命令行界面,允许用户输入命令来执行各种操作。在 Linux 系统中,Shell 是一个命令解释器,它可以解释用户...

    Linux Shell编程从入门到精通

    本书由浅入深、循序渐进地详细讲解了LinuxShell编程的基本知识。这些基本知识包括Shell编程的基本知识、文本处理的工具和方法、正则表达式、Linux系统知识等。  本书旨在通过理清Linux Shell编程的脉络,从基本概念...

    Linux Shell编程基础 linux编程 shell编程

    Linux Shell编程基础 linux编程 shell编程 linux基础编程

    linux shell 编程1

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

    linux shell编程手册

    Linux Shell编程是Linux系统中非常重要的一个环节,它是一种命令解释器,同时也是脚本编程语言。Shell编程使得用户可以通过编写脚本来自动化重复性任务,提高工作效率。这份"Linux Shell编程手册"将引领初学者深入...

    Linux与UNIX Shell编程指南.pdf

    "Linux与UNIX Shell编程指南" Linux与UNIX Shell编程指南是计算机科学领域中一本经典的指南手册,旨在帮助读者快速掌握Linux与UNIX操作系统下的shell编程技术。下面是从该书中生成的相关知识点: 1. Shell概述 ...

    2本linux shell 编程chm

    Linux Shell编程是Linux系统管理与自动化任务的核心技术之一,它主要指的是使用Shell脚本来执行一系列命令,实现自动化操作。在Linux环境中,Bash(Bourne-Again SHell)是最常用的Shell,也是许多Linux发行版的默认...

    linux shell 编程教材配套PPT

    Linux Shell编程是Linux系统管理与自动化任务处理的重要组成部分。Shell脚本可以理解为Linux环境下的批处理程序,它允许用户通过编写简单的命令序列来执行复杂的任务。这份"Linux Shell编程教材配套PPT"将帮助你深入...

    shell编程入门经典--LINUX与UNIX Shell编程指南 (中文pdf版)

    《LINUX与UNIX Shell编程指南》是一本专为初学者设计的shell编程教程,它深入浅出地介绍了在Linux和UNIX系统中如何使用Shell进行高效自动化任务处理。Shell编程是Linux和UNIX系统中的核心技术,它允许用户通过命令行...

    linux shell编程指南

    linux shell编程经典书籍,该版本为中文版,读懂这本书,你将成为Linux编程高手

    linux shell 编程part1

    linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程

    linux Shell 编程实例书一本

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

    LinuxShell脚本编程实例

    Linux Shell脚本编程实例是指使用Linux Shell编程语言编写的脚本程序,用于自动化系统管理、数据处理、网络管理等任务。Shell脚本语言是Linux操作系统的命令解释器,它可以读取用户的命令,并将其转换为机器语言,...

    LINUX与UNIX SHELL编程指南.rar

    LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 ...

    linux Shell 编程视频10

    linux Shell 编程视频,适合初学者

    LinuxShell编程全攻略

    Linux Shell编程是利用Shell语言进行的一种编程方式,它是Linux操作系统中不可或缺的一部分。Shell可以解释和执行用户输入的命令,同时也可以用于编写脚本程序,实现自动化的任务处理。Shell编程的主要特点包括定义...

    Linux Shell编程.

    ### Linux Shell编程知识点详解 #### 一、Shell编程概述 **Shell** 在 Unix/Linux 系统中扮演着极其重要的角色,既是用户与操作系统交互的主要接口,也是一种强大的编程语言。通过 Shell 编程,用户不仅可以自动化...

Global site tag (gtag.js) - Google Analytics