`

shell编程学习笔记三

 
阅读更多

case 语句
语句格式
case "$variable" in
模式1)
命令1

...
;;
模式2)
命令2
...
;;
esac




模式部分可使用通配符
* 任意字符
? 任意单个字符
[..] 类或范围中任意字符






简单的case语句


示例代码如下:
#!/bin/sh
#test12
#简单case语句
echo -n "enter a number from 1 to 5 :"
read ANS
case $ANS in
1) echo "you select 1"
;;
2) echo "you select 2"
;;
3) echo "you select 3"
;;
4) echo "you select 4"
;;
5) echo "you select 5"
;;
*) echo "`basename $0`: this is not between 1 and 5" >&2
exit 1
;;
esac


执行结果:
[retacn@localhost tmp]$ ./test12
enter a number from 1 to 5 :0
test12: this is not between 1 and 5
[retacn@localhost tmp]$ ./test12
enter a number from 1 to 5 :1
you select 1






对匹配模式使用(|)或运算符


==================================================================
循环


for
语法格式为:
for 变量名 in 列表
do
命令1
命令2
done


简单的for 循环
示例代码如下:


#!/bin/sh
#test13
#简单for循环
for loop in 1 2 3 4 5
do
echo $loop
done


执行结果:
[retacn@localhost tmp]$ ./test13
1
2
3
4
5


打印当前目录下所有文件
示例代码如下:
#!/bin/sh
#test14
#打印当前目录下所有文件
for loop in `ls`
do
echo $loop
done


执行结果如下:
[retacn@localhost tmp]$ ./test14
helloworld
helloworld.c
myfile1
temp
test
test10
test12
test13
test14
test2
test3
test4
test5
test6
test7
test8
test9
test.txt






在for循环中使用参数
不使用列表选项查看特定参数$@或$*,从命令行中读取参数
示例代码如下:
#!/bin/sh
#test15
#从命令行读取参数
for params
do
echo "you supplied $params as a command line option"
done
echo $params
done


执行结果:
[retacn@localhost tmp]$ ./test15 myfile1 myfile2
you supplied myfile1 as a command line option
you supplied myfile2 as a command line option










until循环
循环执行命令直到条件为真时结束
语法格式如下:
util 条件
命令
done




简单的until循环
监视磁盘空间
示例代码如下:
#!/bin/sh
#test16
#监视磁盘空间
LOOK_OUT=`df | grep /logs | awk '{print $5}' | sed 's/%//g'`
echo $LOOK_OUT
until [ "$LOOK_OUT" -gt "90" ]
do
echo "filessystem ..log is nearly full"
done






while循环
语法格式如下
while 命令
do
命令1

done



while [condition] ; do




简单的while循环


示例代码如下


#!/bin/sh
#test17
#简单的while循环
COUNT=0
while [ $COUNT -lt 5 ]
do
COUNT=`expr $COUNT + 1`
echo $COUNT
done
执行结果
[retacn@localhost tmp]$ ./test17
1
2
3
4
5




循环从文件中读取数据
示例代码如下:
#!/bin/sh
#test18
#从文件中读取数据
while read LINE
do
echo $LINE
dUNT < name.txt


执行结果:
[retacn@localhost tmp]$ ./test18
yue
zhen
hua




break和continue


break跳出循环
continue跳出当前循环







菜单
示例代码如下:
#!/bin/sh
#test19
#菜单
MYDDATE=`date +%d/%m/%Y`
THIS_HOST=`hostname -s`
USER=`whoami`
#无限循环
while :
do
#清屏
tput clear
cat <<MAYDAY
----------------------------------------------------------------
User:$USER Host:$THIS_HOST Date:$MYDATE
----------------------------------------------------------------
1:List files in current directory
2:Use the vi editor
3:See who is on the system
H:Help screen
Q:Exit Menu
-----------------------------------------------------------------
MAYDAY
echo -e -n "\t Your Choice [1,2,3,h,q] >"
read CHOICE
case $CHOICE in
1) ls
;;
2) vi
;;
3) who
;;
Q|q) exit 0
;;
H|h)
cat <<MAYDAY
this is the help screen!
MAYDAY
;;
*) echo -e "\t\007unknown user response"
esac
echo -e -n "\tHit the return key to continue"
read DUMMY
done








执行结果:
----------------------------------------------------------------
User:root Host:localhost Date:
----------------------------------------------------------------
1:List files in current directory
2:Use the vi editor
3:See who is on the system
H:Help screen
Q:Exit Menu
-----------------------------------------------------------------
Your Choice [1,2,3,H,Q] >q




分享到:
评论

相关推荐

    shell编程学习笔记

    变量: 变量的赋值和引用 在shell编程中变量没有类型,简称弱类型编程语言,不需要声明,在引用这个变量时会创建它(在变量名前加$符号引用变量的值)。在定义变量时,若String中包含空格、制表符、换行符,需用单...

    Linux Shell编程学习笔记

    Linux Shell编程学习笔记

    shell脚本编程学习笔记汇总

    shell脚本编程学习笔记汇总 本文档总结了 Linux shell 脚本编程的学习笔记,涵盖了 shell 脚本的定义、编写、权限、存放位置、函数、变量、IF 控制语句、命令退出状态等知识点。 一、shell脚本的定义 shell 脚本是...

    shell script编程学习笔记

    ### Shell Script 编程学习笔记 #### 一、Shell 脚本初窥 ##### 示例: ```bash #!/bin/sh # 第1行:指定脚本解释器(声明使用的shell名称),这里是用/bin/sh做解释器的。“#!”是一个约定的标记 cd ~ # 第2行:...

    Linux零基础学习笔记 Shell编程-菜鸟入门(超详细)

    Linux是开源的操作系统,它的命令行界面,尤其是Shell编程...因此,无论你是技术小白还是希望进一步提升,这份“Linux零基础学习笔记 Shell编程-菜鸟入门”都会是你宝贵的资源。祝你在学习的道路上越走越远,不断进步!

    shell编程教程.chm

    awk基础入门(4) Unix系列shell程序编写(上) awk基础入门(5) ...Linux的shell编程(三) Linux的shell编程(四) Shell学习笔记 一 Shell学习笔记 二 Shell学习笔记 三 Shell学习笔记 四 Shell学习笔记 五

    Linux_shell编程学习笔记

    Linux Shell编程是Linux系统管理与自动化任务中的重要一环,主要通过编写脚本来实现对操作系统进行交互和控制。本文将详细解析Linux Shell编程中的几个关键概念:正则表达式、find命令、grep命令以及sed命令。 1. *...

    unix shell编程第三版笔记

    通过深入学习"Unix Shell编程第三版笔记",你将能够编写出高效的自动化脚本,提高工作效率,解决日常的系统管理和开发问题。同时,对Unix Shell的熟练掌握也是成为高级系统管理员或全栈开发者的必备技能之一。

    linuxshell编程学习笔记(5)shell运算符号和运算命令.pdf

    Linux Shell 编程学习笔记(5)Shell 运算符号和运算命令 本资源主要讲解了 Linux Shell 编程中的运算符号和运算命令,涵盖了基本的四则运算、自增自减运算、取余运算等多种运算符号和命令。下面是对该资源中涉及到...

    LINUX与UNIX_Shell编程指南V1.0_学习笔记.docx

    这份学习笔记将深入探讨Shell编程的基础,包括文件权限与安全,这是理解Linux和Unix系统管理的关键。 首先,我们关注文件权限。在Linux和Unix中,每个文件和目录都有三个基本的权限:读(r)、写(w)和执行(x)。...

    Linux服务器Shell编程学习笔记linux操作系统 电脑资料.docx

    在这个学习笔记中,我们将深入探讨如何编写和理解Shell脚本。 首先,Shell是Linux操作系统中的一个用户界面,它作为用户与操作系统内核交互的接口。常见的Shell类型有bash(Bourne-Again SHell)、sh(Bourne Shell...

    Linux服务器Shell编程学习笔记linux操作系统 电脑资料.pdf

    Linux服务器Shell编程是系统管理员和开发者在日常工作中必备的技能之一。Shell脚本是一种通过Shell解释器执行的文本文件,可以包含一系列命令,用于自动化任务和管理系统。在Linux操作系统中,常用的Shell包括bash、...

    shell编程笔记.zip_programy5v_shell_shell编程

    总之,“shell编程笔记.pdf”很可能包含了以上所有这些内容,是一个全面学习Shell编程的宝贵资源。通过深入学习和实践,你可以掌握Shell编程技能,从而更高效地管理和自动化你的Linux系统任务。

    Linux Shell编程笔记

    描述:这是一份综合的Linux Shell编程笔记,适用于想要学习或加强对Linux操作系统下Shell脚本编程的理解的人。该笔记包含了Shell脚本的基础知识、常用命令和技巧,以及实际的编程示例和案例。无论您是初学者还是有...

    linux与unix shell编程指南读书笔记.rar

    Linux与Unix Shell编程指南读书笔记提供了深入理解和熟练掌握Shell脚本编写技巧的宝贵资源。Shell是Linux和Unix操作系统中的命令解释器,它不仅用于交互式地执行命令,还能编写自动化任务的脚本,极大地提高了系统...

    Shell编程及自动化运维实现-第六章shell编程实战.学习笔记整理分享给需要的同学

    Shell编程及自动化运维实现-第六章shell编程实战.学习笔记整理分享给需要的同学

    《LINUX与UNIX SHELL编程指南》读书笔记

    《LINUX与UNIX SHELL编程指南》是一本深入探讨Linux和UNIX系统中Shell脚本编程技术的书籍。这本书旨在帮助读者理解和掌握Shell编程的核心概念,从而能够编写出高效、实用的自动化脚本,提高日常系统管理和任务执行的...

Global site tag (gtag.js) - Google Analytics