shell学习笔记:控制结构
来源:互联网 发布:java反复执行一个任务 编辑:程序博客网 时间:2024/04/30 18:44
=====================================
if结构:
case结构:=====================================================read -p "Please input (Y/N): " ynif [ "$yn" == "Y" -o "$yn" == "y" ]; thenecho "OK, continue"elif [ "$yn" == "N" -o "$yn" == "n" ]; thenecho "Oh, interrupt!"else
echo "I don't know what your choice is"fi
for结构:======================================================case $1 in"hello") echo "Hello, how are you ?" ;; "") echo "You MUST input parameters, ex> {$0 someword}" ;; *) # 其实就相当於万用字节,0~无穷多个任意字节之意! echo "Usage $0 {hello}" ;;esacwhile 结构:======================================================while [ "$yn" != "yes" -a "$yn" != "YES" ] #当条件为真时执行循环do read -p "Please input yes/YES to stop this program: " yndoneecho "OK! you input the correct answer."=======================================================
=======================================================s=0 # 这是加总的数值变量i=0 # 这是累计的数值,亦即是 1, 2, 3....while [ "$i" != "100" ]do i=$(($i+1)) # 每次 i 都会添加 1 s=$(($s+$i)) # 每次都会加总一次!doneecho"The result of '1+2+3+...+100' is ==> $s"
until结构
until [ "$yn" == "yes" -o "$yn" == "YES" ] #当条件为真时退出循环do read -p "Please input yes/YES to stop this program: " yndoneecho "OK! you input the correct answer."
for animal in dog cat elephantdoecho "There are ${animal}s.... "done
=========================================================================================================network="192.168.1" # 先定义一个网域的前面部分!for sitenu in $(seq 1 100) # seq 为 sequence(连续) 的缩写之意do # 底下的程序在取得 ping 的回传值是正确的还是失败的! ping -c 1 -w1 ${network}.${sitenu} &> /dev/null && result=0 || result=1 # 开始显示结果是正确的启动 (UP) 还是错误的没有连通 (DOWN) if [ "$result" == 0 ]; thenecho "Server ${network}.${sitenu} is UP."else
echo "Server ${network}.${sitenu} is DOWN."fi
done
C语言方式:(双小括号方式--单小括号是执行命令)====================================================# 1. 先看看这个目录是否存在啊?read -p "Please input a directory: " dirif [ "$dir" == "" -o ! -d "$dir" ]; thenecho"The $dir is NOT exist in your system." exit 1fi# 2. 开始测试文件罗~filelist=$(ls $dir) # 列出所有在该目录下的文件名称for filename in $filelistdo perm="" test -r "$dir/$filename" && perm="$perm readable" test -w "$dir/$filename" && perm="$perm writable" test -x "$dir/$filename" && perm="$perm executable"echo "The file $dir/$filename's permission is $perm "done
=====================================================read -p "Please input a number, I will count for 1+2+...+your_input: " nus=0for (( i=1; i<=$nu; i=i+1 ))do s=$(($s+$i))doneecho"The result of '1+2+3+...+$nu' is ==> $s"select 结构
echo "What is your favourite OS?"select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; do break;doneecho "You have selected $var"该脚本的运行结果如下:
What is your favourite OS?1) Linux2) Gnu Hurd3) Free BSD4) Other#? 1You have selected Linux
0 0
- shell学习笔记:控制结构
- shell 笔记 控制结构
- shell学习--控制结构
- Shell控制流结构笔记
- Shell学习笔记-流程控制
- 控制流结构--shell编程笔记
- Linux重新学习--shell script--控制结构
- Scala学习笔记-控制结构
- Shell脚本学习笔记(四)--流程控制
- Shell脚本学习笔记-运行控制
- shell控制结构
- shell控制结构
- shell控制流结构
- LINUX SHELL控制结构
- Shell控制结构
- shell控制结构语句
- Shell控制结构--流控制
- Shell控制结构--循环控制
- listview有header时position不对
- 继承之虚函数+空类大小
- jQuery中$(function()与(function($)等的区别详细讲解
- Java并发编程:Thread类的使用(很好)
- IntelliJ IDEA 基本配置入门
- shell学习笔记:控制结构
- C语言程序的存储区域
- how to create an ssl certificate on nginx for ubuntu14.04
- 离散化+扫描线 poj1151
- ruby连接mysql问题处理办法汇总
- 消费者与生产者问题
- Java横向、纵向合并图片
- C#中的is和as操作符
- sqlite数据库