Linux之部分shell脚本练习(二)

while CONDITION;do
   statement
done

进入循环:条件满足
退出循环:条件不满足

until CONDITION;do
   statment
   ...
done

#!/bin/bash
#
read -p "Input something:" STRING

while[ $STRING != ‘quit‘];do
   echo $STRING | tr ‘a-z‘ ‘A-Z‘
   read -p "Input something:" STRING
done

#!/bin/bash
#
read -p "Input something:" STRING

until [$STRING == ‘quit‘];do
   echo $STRING | tr ‘a-z‘ ‘A-Z‘
   read -p "Input something:" STRING
done

#!/bin/bash

所以使用的while的时候都可以使用until。

#!/bin/bash
#

who | grep "hadoop" &>/dev/null
RETVAL=$?

until [$RETVAL -eq 0];do
   echo "hadoop has not come"
   sleep 5
   who | grep "hadoop" &>/dev/null
   RETVAL=$?
done

echo "hadoop is loggd in"

执行命令状态返回值可以直接引用,并且可以不用加引号。
如果条件部分是执行命令的话,就需要引号。

for循环

for 变量 in 列表;do
   循环体
done

近C语言的写法
for((expr1;expr2;expr3)); do
   循环体
done

#!/bin/bash
#
declare -i SUM=0
for I in {1..100};do
   let SUM+=$I
done
echo $SUM

#!/bin/bash
#
declare -i SUM2=0
for((J=1; J<=100; J++));do
   let SUM2+=$J
done
echo $SUM

硬盘,假设它为/dev/sdb),为指定的硬盘创建分区。
1.列出当前系统上所有的硬盘,让用户选择,如果选择quit则退出脚本;如果用户选择错误,就让用户重新选择。
2.当用户选择后,提醒用户确认接下来的操作可能会损坏数据,并请用户确认;如果用户选择y就继续;否则,就让用户重新选择。
3.抹除那块硬盘的所有分区(提示:抹除所有分区执行sync命令,并让脚本睡眠3秒钟后再分区),并为其创建三个主分区,第一个为20M。第二个为512M,第三个为128M,且第三为swap分区类型(提示:将分区模块通过echo传送fdisk即可实现)

#!/bin/bash
#
echo "Initial a disk..."
echo -e "033[31mWarning:\033[0m"
fdisk -l 2> /dv/null | grep -o "^Disk /dev/[sb][a-z]"

read -p "Your choice:" PARTDISK

if [ $PARTDISK == ‘quit‘ ];then
   echo "quit"
   exit 7
fi

until fdisk -l 2> /dev/null | grep -o "^Disk /dev/[sb][a-z]" | grep "Disk $PARTDISK" &>/dv/null;do
   read -p "Wrong option.your choice aging:" PARTDISK
done

read -p "Will destroy all data,continue:" CHOICE

until [ $CHOICE == ‘y‘ -o $CHOICE == ‘n‘ ];do
   read -p "Will destroy all data,continue:" CHOICE
done

if [ $CHOICE == ‘n‘ ];then
   echo "Quit"
   exit 9
else
   dd if=/dev/zero of=$PARTDISK bs=512 count=1
   sync
   sleep 3
   echo ‘n
   p
   1
   +20M
   n
   p
   2
   +512M
   n
   p
   3
   +128M
   t
   3
   82
   w‘ | fdisk $PARTDISK &>/dev/null
   sync
   sleep 2
   partprobe $PARTDISK &>/dev/null
   mke2fs -j ${PARTDISK} &>/dev/null
   mke2fs -j ${PARTDISK}1 &>/dev/null
   mke2fs -j ${PARTDISK}2 &>/dev/null
   fi

Linux之部分shell脚本练习(二)

时间: 2025-01-02 03:18:57

Linux之部分shell脚本练习(二)的相关文章

Linux生产服务器Shell脚本分享

Linux生产服务器Shell脚本分享 2012-6-6 86市场网 linux 作为一名Linux/unix系统管理员,我经常遇到人问这个问题:shell能做什么?PHP这么强大,为什么不用PHP来完成工作呢?其实相对于PHP这些开发语言而言,shell主要用于数据库备份(SVN备份).计划任务(crontab).服务状态监控.FTP远程备份等.对于这些任务,shell的强大是大家都公认的,这也是每一个Linux/unix系统管理员的基本之一.现在在Windows 2008里也出现了Power

Linux中执行shell脚本的4种方法

这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下. bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/root/bin目录中并已有执行权限(添加权限的方法:chmod +x hello.sh). 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: ./ 的意思是说在当前的工作目录下执行hello.sh.如果不加上

Linux下添加shell脚本使得nginx日志每天定时切割压缩

Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常时查日志,还是使用"GoAccess"等工具对日志进行分析都将会变得非常麻烦.因此,每天定时对nginx日志进行切割压缩就非常有必要了 二 实现 我的实现思路是每天晚上接近12点时定时执行脚本.其脚本内容就是将当前的nginx日志先按照当天日期进行重命名接着进行压缩,最后是新建空白的ngi

Linux中执行shell脚本

这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下 bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限.方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:复制代码 代码如下: cd /data/shell./hello.sh ./的意思是说在当前的工作目录下执行hello.s

Linux下的shell脚本编程-变量-算术表达式-判断语句-if分支语句

Linux下的shell脚本编程-变量-算术表达式-判断语句-if分支语句 一:实验环境 1):虚拟机 2):linux系统 二:实验目标 1): shell 基本语法 2):变量 3):表达式 4):判断语句 5): if表达式 三:实验脚本 第一块 一个简单的shell脚本程序 [[email protected] ~]# mkdir test [[email protected] test]# vim example1.sh #!/bin/bash #This is to show wha

shell脚本(二)

shell脚本(二)

Linux之部分shell脚本练习

#键盘键入两个整数,并计算它们之和#!/bin/bash##echo -n "Input two Intergers:"read -t 5 -p "Input two Intergers[100 and 200]:" A B[ -z $A ] && A=100[ -z $B ] && B=200echo "$A plus $B is:$[$A+$B]" #归档文件的脚本#!/bin/bash#read -p &qu

2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出

有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccccccccccccccc eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ggggggggggggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww zzzzzzzzzzzzzzzzz

Linux中的shell脚本编程——基础篇

概述: shell脚本在Linux系统管理员的运维工作中非常重要.shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求.本篇将从编程基础.脚本基本格式.变量.运算.条件测试这几个方面详细介绍shell脚本编程的基础内容,也是我们必须要掌握熟练的内容. 一.编程环境 1.程序:指令+数据 程序编程的风格有两种: 过程式:以指令为中心,数据服务与指令 对象式:以数据为中心,指令服务于数据 2.程序的执行方式: □计算机:只能识别二进制文件