Linux命令:break,continue,while

一、while的特殊用法一: 一直循环,永不退出

while :;do

...

done

#!/bin/bash
# showfile.sh
while : ; do
  read -p "Files path:" FILEPATH
  [ $FILEPATH == ‘quit‘ ] && break
  if [ -e $FILEPATH ];then
    echo "$FILEPATH exists."
  else
    echo "No $FILEPATH."
  fi
done
echo "Quit..."

[[email protected] yum.repos.d]# ./showfile.sh
Files path:/etc
/etc exists.
Files path:/etcc/
No /etcc/.
Files path:/yum/VT
/yum/VT exists.
Files path:quit
Quit...

二、while的特殊用法二:       将文本逐行处理

while read LINE; do

...

done < /PATH/TO/SOMEFILE

#!/bin/bash
# showfile.sh
FILE=/etc/passwd
let I=1
while read LINE;do
  [ `echo $LINE |awk -F : ‘{print $NF}‘` == ‘/bin/bash‘ ] && echo $LINE |awk -F : ‘{print $1}‘ && let I++
  [ $I -gt 2 ] && break
done <$FILE

[[email protected] yum.repos.d]# ./showuser.sh
root
./showuser.sh: line 6: [: ==: unary operator expected
oracle

区别continue与break运行机制:

#!/bin/bash
# odd.sh
let SUM=0
let I=0

read -p "keyin I:" I2
read -p "keyin SUM:" SUM2

while [ $I -lt $I2 ];do
  let I++
  if [ $[$I%2] -eq 1 ]; then
    continue    # 结束本轮或本次循环
  fi
  if [ $SUM -ge $SUM2 ] ;then
    break       # 提前退出此while循环体
  fi
  let SUM+=$I
done

echo "SUM=$SUM; I=$I"

[[email protected] yum.repos.d]# ./odd.sh
keyin I:100
keyin SUM:2000
SUM=2070; I=92
[[email protected] yum.repos.d]# ./odd.sh
keyin I:100
keyin SUM:200
SUM=210; I=30

[[email protected] yum.repos.d]# ./odd.sh
keyin I:1000
keyin SUM:20000
SUM=20022; I=284

三、自动查看bash脚本是否有问题,且显示错误后进入该脚本修改

#!/bin/bash
# syntax.sh
until bash -n $1 &> /dev/null; do
  read -p "Syntax error,[Q|q] to quit,others for editing: " CHOICE
  case $CHOICE in
  q|Q)
    echo "Something wrong,quiting..."
    exit 5;;
  *)
    bash -n $1
    sleep 5
    vim + $1;;
  esac
done

[[email protected] yum.repos.d]# ./syntax.sh hello.sh
Syntax error,[Q|q] to quit,others for editing:
hello.sh: line 2: syntax error near unexpected token `;‘
hello.sh: line 2: `while ;do‘
Syntax error,[Q|q] to quit,others for editing:
hello.sh: line 2: syntax error near unexpected token `;‘
hello.sh: line 2: `while ;do‘

时间: 2024-08-18 03:21:49

Linux命令:break,continue,while的相关文章

linux 循环结构中的 break continue exit return区别

1 概述 在脚本的循环中,需要用到break,continue,exit.来控制循环.利用return来获取函数的返回值.本文将对这四个命令的使用做介绍 break [N]:提前结束第N层循环,最内层为第1层 continue [N]:提前结束第N层的本轮循环,而直接进入下一轮判断:最内层为第1层 exit 命令终止脚本 2  break continue exit   对比 2.1 break 和continue 测试 假设一个循环体内,总共嵌套了3层循环,总循环体N为3,break 和con

Linux shell break、continue、exit、return的用法

break.continue.exit.return一般用于控制循环的的走向 首先通过一个脚本说明 for ((i=1;i<5;i++ )) do if [ $i -eq 3 ] then #  break #  continue #  exit fi echo $i done echo OK 输出的结果 break的结果 1 2 OK continue的结果 1 2 4 OK exit的结果 1 2 由此可以说明 break n:n表示跳出循环的层数,如果省略n表示跳出整个循环 continu

Linux Shell Break和Continue

Break Continue 原文地址:https://www.cnblogs.com/Brake/p/12286345.html

Linux命令随笔

1 Linux命令总结 2 3 man ==命令帮助; 4 help ==命令的帮助(bash的内置命令); 5 ls ==list,查看目录列表; 6 -ld:查看目录权限; 7 -l:(long)长格式显示属性; 8 -F:给不同的文件类型结尾加标识 9 -p:给目录加斜线 10 -r:(reverse)反转排序 11 -t:按时间排序 12 --color=auto 给输出的不同类型文件加不同颜色 13 -a:显示隐藏文件 14 ls -l --time-style=long-iso,显示

十年linux命令总结

十年linux命令总结 本文链接: http://codingstandards.iteye.com/blog/786653 关于命令类型划分 本表中列出了我穷尽了我所有的记忆整理出来的Linux命令,其中关于外部命令.关键字或内建命令的划分,不一定正确.有很多命令,既是内建命令也 可能是外部命令,为啥?Bash为了更高效率的执行命令和脚本,把很多外部命令以内建命令的方式实现了.我们使用type这个命令就可以知道一个命令的类 型了,如下所示: [[email protected] ~]# typ

linux命令集

线上查询及帮助 [[email protected] ~]# man help (help command内建命令帮助)NAME       bash,  :,  .,  [,  alias,  bg, bind, break, builtin, caller, cd, command, compgen, complete, compopt, continue,       declare, dirs, disown, echo, enable, eval, exec, exit, export

linux 命令总结(转载)

linux 命令总结(转载) 1. 永久更改ip ifconfig eth0 新ip 然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip 2.从Linux上远程显示Windows桌面 安装rdesktop包 3. 手动添加默认网关 以root用户, 执行: route add default gw 网关的IP 想更改网关 vi /etc/sysconfig/network-scripts/ifcfg-eth0 更改GATEWAY  /etc/in

《Linux命令行与Shell脚本编程大全第2版.布卢姆》pdf

下载地址:网盘下载 内容简介  · · · · · · 本书是一本关于Linux 命令行与shell 脚本编程的全面教程.全书分为四部分:第一部分介绍Linuxshell 命令行:第二部分介绍shell 脚本编程基础:第三部分深入探讨shell 脚本编程的高级内容:第四部分介绍如何在现实环境中使用shell 脚本.本书不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料. 本书内容全面,语言简练,示例丰富,适合于linux 系统管理员及Linux 爱好者阅读

Shell脚本之break,continue,和exit区别

Linux脚本中的break continue exit return break结束并退出循环 continue在循环中不执行continue下面的代码,转而进入下一轮循环 exit退出脚本,常带一个整数给系统,如 exit 0 return在函数中将数据返回或返回一个结果给调用函数的脚本 我理解为:break是立马跳出循环:continue是跳出当前条件循环,继续下一轮条件循环:exit是直接退出整个脚本 例如: 在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,Shell使用两个

《Linux命令行与shell脚本编程大全 第3版》

第一部分 Linux 命令行 第1章  初识Linux she1.1   什么是Linux 21.1.1 深入探究Linux 内核 31.1.2 GNU 工具 61.1.3 Linux 桌面环境 81.2   Linux 发行版 121.2.1 核心Linux 发行版 131.2.2 特定用途的Linux 发行版 131.2.3 Linux LiveCD 141.3   小结 15 第2章  走进shell2.1   进入命令行 162.1.1 控制台终端 172.1.2 图形化终端 172.2