read 此命令是一个可以做交互式界面的命令

就是当输入read可以输入字符后然后退出

read -t timeout 指定超时间,默认单位为S

read -p prompt 提示,,即进入交互界面时提示

#!/bin/bash

#echo -n "input two value:"

read -t 5 -p "input 2 value:(default 1024 200000)" A B

[ -z $A ] && A=1024

[ -z $B ] && B=200000

echo "$A and $B is $[$A + $B]"

该脚本是read命令的使用,,大家可以复制用一下,,脚本执行后

可以输入 两个数, 空格隔开,然后会输出这两个数的和

最主要的是可以交互的 而不像之前直接跟在脚本后

#!/bin/bash

read -p "input archives files:" FILE1 FILE2 FILE3

read -p "input archives name:" ARNAME

read -p "input compress mode[gzip|bzip2|xz]:" COMP

case $COMP in

gzip)

tar -zcf ${ARNAME}.tar.gz $FILE1 $FILE2 $FILE3;;

bzip2)

tar -jcf ${ARNAME}.tar.bz2 $FILE1 $FILE2 $FILE3;;

xz)

tar -Jcf ${ARNAME}.tar.xz $FILE1 $FILE2 $FILE3;;

*)

echo "Uknown option"

exit 80

;;

esac

上边这段脚本就是read应用实例咯, 输入3个文件(注意只能输三个,脚本编写的不行,,不支持多个) 然后输入归档文件要保存的位置, 最后输入要压缩的格式,

这个脚本如果指定的是绝对的路径会提示会自动去除/的提示,,个人理解是如果加上/就是当用户解压归档的时候都会放到绝对路径上,而不可放到相对路径。如果想去除此提示可加 -P 选项

-P --absolute-names

don’t strip leading ‘/’s from file names

while循环

此循环是给出一个条件即在条件满足时执行 当条件不满足则不执行,这个不知道解释的对不对,大体理解是 [ $A -le 10 ] 如果 $A小于等于10的时候一直在循环,如果大于10时,,则不执行循环,最大的特点是while循环是不知道要循环的次数,而for循环需要给定循环次数。

格式

while condition ; do

statement

statement

...

done

下面是几个脚本示例

计算100以内(包含100)的和

#!/bin/bash

declare -i I=1

declare -i SUM=0

while [ $I -le 100 ]; do

let SUM+=$I

let I++

done

echo $SUM

当输入一个非quit的字符串时,转换为大写 (脚本编写的不强,不可加空格哈,加了会提示错误)

#!/bin/bash

read -p "input some word:" STRING

while [ $STRING != 'quit' ]; do

echo $STRING | tr 'a-z' 'A-Z'

read -p "input some second word:" STRING

done

下面这个脚本是,当user1用户登录时,,会提示user1已登录并退出脚本

#!/bin/bash

who |grep user1 &>/dev/null

DISCOVER=$?

while [ $DISCOVER -ne 0 ]; do

echo "`date` user1 is not login"

sleep 5

who |grep user1 &>/dev/null

DISCOVER=$?

done

echo " user1 is login "

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1658390如需转载请自行联系原作者

Winthcloud

read while循环 tar脚本相关推荐

  1. php 命令行 循环,Linux_批处理的循环效果脚本,第一次运行 执行命令工A 第 - phpStudy...

    批处理的"循环"效果脚本 第一次运行 执行命令工A 第二次运行 执行命令工B 第三次运行 执行命令工A ................ 原理很简单 用if exist 判断 第一 ...

  2. XShell6 循环执行脚本

    代码都是网上找的, 我加入了循环,脚本的意思就是循环查询磁盘目录(mnt) 人家的源码位置:https://www.cnblogs.com/li150dan/p/11038216.html 以下内省在 ...

  3. shell循环执行脚本

    shell循环执行脚本 2017年08月24日 15:28:18 阅读数:215 for i in {1..10}   do      echo "Welcome $i times" ...

  4. linux 循环shell脚本,shell脚本的使用---for循环

    shell脚本的循环:重复执行命令 1.for循环 语法 for 变量名称 in 变量值列表 do 命令 done for根据变量值列表中的内容,重复执行命令,直到变量值列中的所有内容都取值完后结束. ...

  5. birt脚本for循环_Shell脚本编程2 for循环/while循环

    For循环 和java中的for是一样的都是循环 与其他编程语言类似,Shell支持for循环. for循环的作用:依次遍历列表中的值,直到终止或遍历完成 for循环一般格式为: for var in ...

  6. birt脚本for循环_Shell脚本应用 – for、while循环语句

    一.for循环语句 在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他命令相同.例如:根据通讯录中的姓名列表创建系统账号等情况. 当面对各种列表重复工作任务时 ...

  7. php定时某个时间循环做,PHP定时循环执行脚本

    代码如下:<?php ignore_user_abort(); //关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0); // 通过set_time_limit(0)可以 ...

  8. linux循环脚本while循环,Shell脚本while、until循环语句简明教程

    一.while循环 while循环用于不断执行一系列命令,也用于从输入文件中读取数据:命令通常为测试条件.其格式为: while 命令 do command1 command2 ... command ...

  9. linux中循环删除脚本,shell脚本:遍历删除

    遍历删除文本内路径上文件 windows上测试可以安装Git linux中,准备删除文件的脚本deleteFile.sh,picture.txt保存待删除文件的文件路径,picture文件夹下面有三张 ...

最新文章

  1. 我们正处于新科学革命的起点 | 学界热议AI for Science
  2. Python 列表(List)操作方法详解
  3. 我的泰坦尼克数据分析
  4. JEECMS自定义标签开发步骤
  5. CocoaPods更新遇redefinition问题及其它问题汇总
  6. 验证视图状态MAC失败的解决办法
  7. asp.net模态窗口返回值
  8. maven安装及集成myeclipse
  9. (三) UART 串口通讯
  10. Flink 合流水位线图解
  11. Spring使用注解方式的学习笔记
  12. spark 集群搭建 详细步骤
  13. 计算机桌面图标扁了,电脑桌面图标及文字变扁怎么办
  14. oracle基础|什么是数据字典|数据字典的作用
  15. 团灭Leetcode打家劫舍问题
  16. 理光Ricoh Pro 907EX 一体机驱动
  17. 用turtle作画玩一玩吧
  18. 51 PWM调速蓝牙小车
  19. 零基础入门推荐系统 - 新闻推荐实战-笔记四
  20. 【代码】HTML网站维护更新简易单页源码

热门文章

  1. 迷宫问题c语言图形化,c语言写的迷宫问题
  2. beautifulsoup_如何使用 Python 和 BeautifulSoup 爬取网站
  3. sun服务器清理内存日志_服务器清理日志的命令行
  4. mysql 读取oracle数据_Python中Pandas通过read_sql方法从Mysql或Oracle数据库中读取数据帧(DataFrame)...
  5. html5三角函数怎么用,HTML5(五)html5<canvas路径和三角函数的故事>(下)
  6. mysql5.7.20新特_Mysql5.7新特性
  7. Android的EditText文字动态监听
  8. 怎么用计算机模拟宇宙,为了弄懂宇宙的形成 科学家用电脑模拟了800万个宇宙...
  9. 属性数量限制android,Android开发笔记 今天学到的一些属性
  10. 20200218:不同路径(leetcode62)