`

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_SHELL编程与服务器管理.pdf

    Linux Shell编程与服务器管理是系统管理员和网络管理员必须掌握的高级技能之一。Shell作为操作系统的一个重要组件,是用户与系统核心之间的接口,几乎所有管理者在日常工作中都会频繁地与Shell打交道。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"将帮助你深入...

    LINUX SHELL编程从初学到精通

    但根据文件信息中的标题和描述,可以推断出本书内容涉及Linux Shell编程的基础知识和技能提升。下面将基于Linux Shell编程这一主题,详细说明相关知识点。 Linux Shell编程是学习Linux系统管理和自动化脚本的重要...

    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脚本编程.pdf

    linux命令行与shell脚本编程.pdf

    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 编程 ...

Global site tag (gtag.js) - Google Analytics