脚本编程:
    顺序结构
    选择结构
        if
        case
    循环结构
        for
        while
        until
        
while循环:适用于循环次数未知的场景,要有退出条件
语法:
    while CONDITION; do
      statement
      ...
    done
    
计算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 something: " STRING

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

练习:每隔5秒查看hadoop用户是否登录,如果登录,显示其登录并退出;否则,显示当前时间,并说明hadoop尚未登录:
#!/bin/bash
#
who | grep "hadoop" &> /dev/null
RETVAL=$?

while [ $RETVAL -ne 0 ]; do
  echo "`date`, hadoop is not log."
  sleep 5
  who | grep "hadoop" &> /dev/null
  RETVAL=$?
done

echo "hadoop is logged in."

写一个脚本:
1) 显示一个菜单给用户:
d|D) show disk usages.
m|M) show memory usages.
s|S) show swap usages.
*) quit.
2) 当用户给定选项后显示相应的内容;
   
扩展:
    当用户选择完成,显示相应信息后,不退出;而让用户再一次选择,再次显示相应内容;除了用户使用quit;
#!/bin/bash
#
cat << EOF
d|D) show disk usages.
m|M) show memory usages.
s|S) show swap usages.
*) quit.
EOF

read -p "Your choice: " CHOICE
while [ $CHOICE != 'quit' ];do
  case $CHOICE in
  d|D)
    echo "Disk usage: "
    df -Ph ;;
  m|M)
    echo "Memory usage: "
    free -m | grep "Mem" ;;
  s|S)
    echo "Swap usage: "
    free -m | grep "Swap" ;;
  *)
    echo "Unknown.." ;;
  esac

read -p "Again, your choice: " CHOICE
done

练习:写一个脚本
从键盘让用户输入几个文件,脚本能够将此几个文件归档压缩成一个文件;
read:
    -p “PROMPT": 给出提示

最新文章

  1. vue2.0 非父子组件如何通信
  2. js模块化方案【转】
  3. bash profile .bashrc
  4. Android学习笔记50:使用WebView控件浏览网页
  5. lua class(table)
  6. 1215课后练习----indexOf的用法
  7. mac OS X下制定ll指令
  8. VMware 9 安装 OS X 10.8.4 并安装 Xcode 4.6
  9. Java实战之02Hibernate-02映射、一级缓存、实体对象状态
  10. make执行过程
  11. 浅谈.NET,C#三层架构
  12. Awesome Projects (汇聚全球所有&#128046;项目,你值得拥有)
  13. HTML、CSS知识点,面试开发都会需要--No.3 盒子模型
  14. 【BZOJ1823】[JSOI2010]满汉全席(2-sat)
  15. [js] 处理字符串换行造成的json解析失败
  16. spark application提交应用的两种方式
  17. 你知道Windows和WordPress上帝模式吗?
  18. MYSQL的存储过程和函数简单写法
  19. 谈HTTPS中间人攻击与证书校验(一)
  20. cap-insets

热门文章

  1. 关于初学者上传文件到github的方法
  2. Unity怎样在Editor下运行协程(coroutine)
  3. js方法调用
  4. 有关android 应用的plugin框架调研
  5. 关于transform的2D
  6. let关键字
  7. Action重定向总结
  8. Asus 安装 windows 7
  9. Application 可以存储全局变量
  10. iOS横竖屏