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