shell特殊用法
来源:互联网 发布:精通matlab最优化.pdf 编辑:程序博客网 时间:2024/06/15 18:36
特殊用法一 while
语法格式
while read LINE; do
循环体
done < /PATH/FROM/SOMEFILE
功能:依次读取/PATH/FROM/SOEMFILE文件中的每一行,且将此行赋值给LINE变量中
示例:扫描/etc/passwd文件每一行,如发现GECOS字段为空,则填充用户名和单位电话为123,并提示该用户的GECOS信息修改成功
#!/bin/bash#FILE=/etc/passwdwhile read LINE; do GE=`echo $LINE | cut -d: -f5` USER=`echo $LINE | cut -d: -f1` if [[ -z $GE ]]; then usermod -c "${USER}123" $USER echo "Modify $USER finished.." else echo "$USER can't modify" fidone < $FILEunset FILE GE USER
特殊用法二 for
语法格式
for ((控制变量初始化;条件判断表达式;控制变量的修正表达式)); do
循环体
done
功能:赋值判断和修正条件都是(())中完成,满足判断表达式即执行一次循环体,结束会先进行控制变量修正运算,而后再做条件判断。
此用法和while很相似,完全可以完全替换,但是此用法更适合于数字的计算。
示例:计算1-10之和
#!/bin/bashdeclare -i sum=0for (( i=1; i<=10; i++ )); do sum=$[sum+i]doneecho $sumunset sum i
特殊用法三 select
语法格式
select variable in list; do
循环体命令
done
功能:select循环主要用于创建菜单,并显示PS3 提示符,且用户输入被保存在内置变量REPLY 中。一般与case同用,exit退出循环
示例:制作一个菜单,展示出商品及其价格,如果输入错误,提示错误信息并退出。
#!/bin/bashPS3="What would you like:"select menu in noodles dumpling rice; do case $menu in noodles) echo "Your choice is $REPLY,10$" ;; dumpling) echo "Your choice is $REPLY,15$" ;; rice) echo "Your choice is $REPLY,20$" ;; *) echo "Your choice is error.." break ;; esacdone
0 0
- shell脚本特殊用法
- shell特殊用法
- shell中括号的特殊用法
- shell中括号的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- 将Excel文件导入数据库(POI+Excel+MySQL)(jsp页面导入)
- Java中用静态工厂方法代替构造器的优缺点
- Bound服务之Binder
- UVa 11759 洛克人的难题 状压dp
- java 读取标准输入
- shell特殊用法
- AES,SHA1,DES,RSA,MD5区别
- POJ_1010_STAMPS
- Shell中的函数调用
- IO学习笔记(一)
- 【2016/9】 简单 Docker 入门
- iOS多张图片合成一个视频
- Linux开发必备工具
- zynq学习01 zynq 单独使用PL模块点亮led