当前位置: > shell编程 >

Bash Shell 流程控制 —— select,bashshell

时间:2014-11-23 21:45来源:linux.it.net.cn 作者:IT

Bash Shell 流程控制 —— select,bashshell


前言

今天刚好写了一个自动化打包脚本,再次使用到了bash shell,好幸福的感觉。这里主要是想介绍一下select命令,这个命令可以帮助我们完成菜单选择功能。 

格式

我今天也是第一次使用select流程控制,在php、Java、C这些语言中并没有实现select功能。Bash Shell中,select格式如下:
select $var in ${list[@]}
do
    statements that can use $var
done
在select执行时,会根据list数组给出选择菜单,用户选择后的结果保存在$var变量中,然后执行statements语句。执行完成后,再次给出菜单,等待用户选择。如果用户想跳出选择循环,需要在循环体中根据条件增加break语句。 

示例

给出一个select的示例,大家可以参考:
#!/bin/bash

fruits=(
    "apple"
    "pear"
    "orange"
    "watermelon"
)

echo "Please guess which fruit I like :"
select var in ${fruits[@]}
do
    if [ $var = "apple" ]; then
        echo "Congratulations, you are my good firend!"
        break
    else
        echo "Try again!"
    fi
done




Bash shell命令

 

at----安排,检查,删除队列中的工作  
cat----连接文件并打印到标准输出  
cd----改变目录,能处理绝对和相对路径  
chmod----改变文件保护权限  
chown----改变文件的属主和组  
clear----清除屏幕(象DOS中的cls)  
cp----拷贝文件  
crontab----操作每个用户的守护程序和执行的时间表  
date----打印或设置系统日期和时间  
dd----拷贝一个文件(并可以同时转化它)  
df----报告磁盘剩余空间  
du----报告磁盘空间使用情况  
file----探测文件和目录类型  
find----搜索目录中文件  
grep----在文件中搜索匹配的行并输出  
gzip----压缩或展开文件  
head----显示文件的前几行  
history----显示历史命令记录  
kill----中止一个进程  
last----显示过去多少个用户或终端登录到本机器  
less----想对于more命令, 用来按页显示文件  
ln----在文件间建立连接  
ls----列出当前目录下的文件  
man----显示具有一定格式的在线手册  
more----命令能逐页阅读文本  
mount----安装一个文件系统  
mv----将文件改名  
passwd----设置用户的密码  
ps----命令罗列运行进程  
reboot----重新启动系统  
rm----命令用于删除文件  
su----创建和编辑Unix归档文件  
tar----创建和编辑Unix归档文件  
touch----改变文件的时间参数  
wc----统计一个文件中的字节数,单词数,行数  
who----查看其他登录的用户  
which----which--显示命令的全路径  
ping----命令—确定网络上机器是否可达或到达速率  
使用多任务  
输出重定向  
了解进程  

--------------------------------------------------------------------------------  

在Linux系统中有两种操作界面,分别是:X窗口模式(缺省为KDE)和控制台模式(Console)。两中操作界面类似于Windows和DOS。  

如果在X窗口模式下想转变为控制台模式,您只需同时按下Alt+F1(或F2…F6)键,屏幕将会出现新的等录窗口,您可以重新以控制台模式登录系统。如果在控制台模式下,要想返会X窗口模式,需要您同时按下Ctrl+Alt+F7键。  

如果没有启动X窗口方式,想从控制台方式中启动X窗口方式,请在控制台方式中输入:startx(或kdm),就可以启动X窗口。  

在上面两章中我们已经介绍了X窗口(缺省为KDE)的操作,在本章和下一章中我们将主要讨论控制台模式下的操作,同时也将会间插相应的KDE操作。  

6.1 启动和关闭系统  
启动系统  
如果您在安装过程中已经安装了LILO, 您就可以启动系统,LILO启动时,屏幕显示:  

LILO:  

单击Tab键,屏幕将显示所有可以启动的操作系统。键入显示的操作系统名,您就可以启动相应操作系统。键入Linux可启动BluePoint Linux&127;系统。如果您直接击回车键或等待5秒钟,同样可以启动BluePoint Linux&127;操作系统。  

另一种启动linux系统的方法是:在DOS/WINDOWS系统下运行......余下全文>>
 

怎理解 bash shell?

 

要理解bash shell,首先得分别理解bash和shell。
先说shell,shell就是一个“壳”,是操作系统(内核)与用户之间的桥梁,充当命令解释器的作用,将用户输入的命令翻译给系统执行。与Windows下的DOS一样,提供一些内建命令供用户使用,可以用这些命令编写shell脚本来完成复杂的工作。
再说bash,目前有几种流行的shell有:tcsh, csh, bash, ksh,各有什么联系与区别我这里就不多讲了,相信你可以在网上查到相关资料(包括bash是指 Bourne-again shell),但我要说的是目前很多linux发行版里默认带的都是bash shell。
参考资料:sername



 

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容