Bash Shell中的select命令简单使用示例
前言
今天刚好写了一个自动化打包脚本,再次使用到了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对目录中的文件实现递归式拷贝
前言 今天工作中遇到了一个问题,如果将目录A中的文件拷贝到目录B中(前提目录B没有该文件),并保持文件在目录A的结构.项目重点如下: 需要在目录B中保持文件在目录A中的结构.假设A目录文件 A/test/1.txt,转移到目录B中应该是B/test/1.txt.同时还需要考虑目录B中是否存在test目录,多级目录就要考虑递归了.(还好,bash shell里写个目录递归遍历还是比较简单的.) 需要考虑A中文件是否在B中已经存在同名文件,如果存在,则不需要拷贝. 项目需求示例图如下
-
linux BASH shell下设置字体及背景颜色
BASH shell下设置字体及背景颜色 echo -e "\e[31mtest\e[41m" \e[30m 将字符的显示颜色改为黑色 \e[31m 将字符的显示颜色改为红色 \e[32m 将字符的显示颜色改为绿色 \e[33m 将字符的显示颜色改为淡红色 \e[34m 将字符的显示颜色改为蓝色 \e[35m 将字符的显示颜色改为紫色 \e[36m 将字符的显示颜色改为淡蓝色 \e[37m 将字符的显示颜色改为灰色 \e[40m -- \e[47m 设置背景色 \e[40m 将背景色设
-
使用Bash Shell获取文件名和目录名的简单方法
前言 还是今天再写一个自动化打包脚本,用到了从路径名中获取最后的文件名.这里记录一下实现过程.当然,最后我也会给出官方的做法.(ps:很囧,实现完了才发现原来Bash Shell有现成的函数) 获取文件名 假设给定的路径名为: /tmp/csdn/zhengyi/test/zhengyi.txt awk解法 用"/"做分隔符,然后打印出最后的那一部分.实现代码如下: resFile=`echo /tmp/csdn/zhengyi/test/adb.log | awk -F "
-
Bash Shell中的select命令简单使用示例
前言 今天刚好写了一个自动化打包脚本,再次使用到了bash shell,好幸福的感觉.这里主要是想介绍一下select命令,这个命令可以帮助我们完成菜单选择功能. 格式 我今天也是第一次使用select流程控制,在php.Java.C这些语言中并没有实现select功能.Bash Shell中,select格式如下: select $var in ${list[@]} do statements that can use $var done 在select执行时,会根据list数组给出选择菜单,
-
shell中的source命令的巧妙用法
首先,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如source /etc/profile. 其次,source filepath或者. filepath,sh filepath或者./filepath区别: 1. sh filepath会重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell是新
-
详解 Shell中的grep命令
用'grep'搜索文本文件 如果您要在几个文本文件中查找一字符串,可以使用'grep'命令.'grep'在文本中搜索指定的字符串.举个例子:假设您正在'/usr/src/linux/Documentation'目录下搜索带字符串'magic'的文件: $ grep magic /usr/src/linux/Documentation/* sysrq.txt:* How do I enable the magic SysRQ key? sysrq.txt:* How do I use the ma
-
shell中常用的命令之diff和patch用法
shell中常用的命令:diff(比较文件内容)和patch(打补丁) 1.diff用法 比较文件内容不同 diff file1 fil2 #以后面的文件file2作为标准 比较file1相对于file2来说有什么不同 比较文件例子 -r:比较目录 diff -r /etc/ /tmp/ 注意:比较的结果是目录中文件的不同 而不是文件内容的不同 2.path用法 patch常用来打补丁 -u:覆盖原文件内容的打补丁 diff -u file2 file1 diff -u file2 file1
-
快速了解Python开发中的cookie及简单代码示例
cookie :是用户保存在用户浏览器端的一对键值对,是为了解决http的无状态连接.服务端是可以把 cookie写到用户浏览器上,用户每次发请求会携带cookie. 存放位置: 每次发请求cookie是放在请求头里面的. 应用场景: ·登陆用户和密码的记住密码 ·显示每页显示的数据,以后都是按照设定的数目显示 ·投票机制 案例用户登录 创建用户登录的url url(r'^login/', views.login), 创建登录页面 代码为: <!DOCTYPE html> <html l
-
shell中使用expect命令进行远程执行命令脚本
expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程. 注意: 1.脚本的执行方法与bash shell不一样,比如:expect example.sh 2.向一个脚本传递参数时,bash shell是使用$1,$2...来接收参数的:而expect则将脚本的执行参数保存在数组$argv中,在脚本中一般将其赋值给变量:set 变量名 [lindex $argv 参数] #!/usr/bin/expect set ip [lindex $argv 0] set p
-
Android系统在shell中的df命令实现
当我们在shell中敲击df这条命令的时候,会看到: root@android:/ # df Filesystem Size Used Free Blksize /dev 446.8M 36.0K 446.8M 4096 /mnt/secure 446.8M 0.0 K 446.8M 4096 /mnt/asec 446.8M 0.0 K 446.8M 4096 /mnt/cart0 446.8M 0.0 K 446.8M 4096 /mnt/obb 446.8M 0.0 K 446.8M 40
-
linux bash shell中case语句的实例
bash case语句的例子. 分享一段bash shell代码,对于学习bash的同学理解case语句的用法,会有帮助. 例子: 复制代码 代码如下: #!/bin/bash### Program:# File operation# 1.) Open file 2.) Display file 3.) Edit file 4.) Delete file# site: WWW.JB51.NETPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/u
-
vue中动态select的使用方法示例
本文实例讲述了vue中动态select的使用方法.分享给大家供大家参考,具体如下: html代码如下: 通过v-model可以获取到选中的值,如果没值就默认第一个;如果有值就显示有值的那个内容 <template> <div class="violationsList"> <div class="type-select"> <select name="selected" id="" v
-
Linux bash Shell中的变量类型详解
在Linux系统中进行日常运维或者是编写脚本时,变量是再熟悉不过的了,但这些变量都有哪些类型,具体的用法又有哪些差异呢?本文整理分享给大家: 一.bash变量类型: 本地变量 局部变量 环境变量 位置变量 特殊变量(内置) 二.本地变量: varname=value:作用域为整个bash进程可以使用: 变量命名规范: 1. 只能含字母.数字和下划线,并且以字母和下划线开头 2. 最好不要跟系统已有的环境变量重名 3. 见名知意 三.局部变量: local varname=value:作用域为当前
随机推荐
- Shell脚本实现线上服务器之间对比文件是否一致
- ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
- document.open() 与 document.write()的区别
- js模仿php中strtotime()与date()函数实现方法
- asp.net css控制打印功能方法实例
- 在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
- c#可空类型的作用说明
- C++映像劫持后门实例分析
- Android登陆界面实现清除输入框内容和震动效果
- Android AIDL——进程通信机制详解
- 让JavaScript 轻松支持函数重载 (Part 1 - 设计)
- javascript实现可改变滚动方向的无缝滚动实例
- C++利用stringstream进行数据类型转换实例
- 简单总结Java IO中stream流的使用方法
- js随机生成一个验证码
- VBS教程:运算符-运算符概述
- jQuery模拟点击A标记示例参考
- Jquery AJAX POST与GET之间的区别详细介绍
- jquery命令汇总,方便使用jquery的朋友
- 什么样的网站能赚钱?