read while循环 tar脚本

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 "

时间: 2024-08-29 02:44:01

read while循环 tar脚本的相关文章

Linux01-脚本编程之八until循环及脚本完成磁盘分区格式化37

一.脚本编程控制结构 1.顺序 2.选择 if case 3.循环 a)for b)while CONDITION:do statment ... done 进入循环:条件满足 退出循环:条件不满足 c)until 二.until循环 1.格式: until CONDITION; do statement ... done 2.表示: 进入循环:条件不满足 退出循环:条件满足 如:写脚本,每5s检查一次hadoop是否登录系统: #!/bin/bash # who | grep "hadoop&

循环语句脚本

常用的循环语句 for循环: 形式一:for 变量名 in 列表;do??循环体done执行机制:依次将列表中的元素赋值给"变量名"; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 形式二:for ((控制变量初始化;条件判断表达式;控制变量的修正表达式));do??循环体done控制变量初始化:仅在运行到循环代码段时执行一次控制变量的修正表达式:每轮循环结束会先进行控制变量修正运算,而后再做条件判断 example: ①实现1到100之和形式一:形式二:②实现1到10

循环执行脚本

今天来分享一下最近学习脚本中的循环脚本心得和简易编程. 一.编程中的逻辑处理: 顺序执行 选择执行 循环执行 1. for循环 for 变量名 in 列表;do??循环体donefor循环的列表生成方法如下:in后列表有几个既循环赋值给i几次 循环执行几次seq 正反跳步生成列表双引号会把参数变为一个整体"$* " 会变为一个整体参数 既abc"[email protected]" 会分辨显示参数 既 a b c 小心使用即可 来看看具体使用情况及脚本吧 100以内

批处理--工作当中获取本机ip地址然后执行一个循环启动脚本

<pre name="code" class="cpp"><span style="font-size:18px;">goto :main rem +++++++获取本机ip++++++++++++++++++++++++++++++++++++ :get_local_ip rem 注意 不要照搬某些人的文章,如果你把函数写成setlocal dosomething endlocal 这种结构,那么在这段代码中返回值无法赋

shell 脚本之循环使用 for while 详解

任何一种编程语言中循环是比不可少的,当然 shell 脚本也少不了循环语句,包括 for 语句. while 语句.文中主要以实际用例来说明 for while 都有哪些常见的使用方法和技巧. 一.for 循环使用 1. seq 命令方式 for i in $(seq 10);do echo "$i" done 2. C语言语法方式 for ((i=0; i<9; i++));do echo "$i" done 3. 循环遍历文件列表 for file in

bash脚本编程---循环

bash为过程式编程语言 代码执行顺序: 1.顺序执行:逐条执行 2.选择执行:代码有一个分支,条件满足时才会执行 两个或以上的分支,只会执行其中一个满足条件的分支 3.循环执行:代码片段(循环体)要执行0,1或多个来回 4.选择执行: 单分支的if语句: if 测试语句 then 代码分支 fi 双分支的if语句: if 测试条件:then 条件为真时执行的分支 else 条件为假时执行的分支 fi 例1:通过参数传递一个用户名给脚本,此用户不存时,则添加之: #!/bin/bash if !

Linux定时循环执行python脚本

本文主要介绍在linux环境下,定时循环执行python脚本的两种方法. 方法一: nohup vim time.py 1 import time 2 while(True): 3 #time.sleep(1) 4 with open('time.log', 'a+') as logfile: 5 logfile.write('Hello, World!\n') 6 time.sleep(1) 7 #break 在终端运行如下命令 nohup python time.py & 功能:实现了每秒将

Shell基础(三):使用for循环结构、使用while循环结构、基于case分支编写脚本、使用Shell函数、中断及退出

一.使用for循环结构 目标: 本案例要求编写一个Shell脚本chkhosts.sh,利用for循环来检测多个主机的存活状态,相关要求及说明如下: 1> 对192.168.4.0/24网段执行ping检测      2> ping检测可参考前一天的pinghost.sh脚本      3> 脚本能遍历ping各主机,并反馈存活状态 执行检测脚本以后,反馈结果如下图所示. 方案: 在Shell脚本应用中,常见的for循环采用遍历式.列表式的执行流程,通过指定变量从值列表中循环赋值,每次复

Shell脚本(for循环,while循环,break跳出循环,continue结束本次循环)

for循环 语法:for 变量名 in 条件 : do done: 案例一: 计算1-100所有数字的和. 脚本: #!/bin/bash sum=0 for i in `seq 1 100` do sum=$[$sum+$i] done echo $sum 结果: [[email protected] ~]# sh 1-100.sh 5050 案例二: 列出/etc/sysconfig下所有子目录,并且使用ls -d命令查看. 脚本: #/bin/bash cd /etc/sysconfig