Linux 学习笔记_10_Shell编程_2_Shell编程语法(三)
格式: select 变量 in 关键字
do
command 1
... ...
command n
done
select把关键字中的每一项做成类似表单,以交互的方式执行do和done之间的命令。
【示例】
#!/bin/bash
# A test for select
echo "What's your favorite OS?"
echo
select name in "UNIX" "Linux" "Windows" "Others"
do
break
done
echo "Your select is $name"
四、case/esac
格式: case 变量 in
字符串1)
命令列表1
;;
...
字符串n)
命令列表n
;;
esac
五、while
格式: while 条件
do
命令
done
【无限:whill true】
【示例】
#! /bin/sh
num=1
while [ $num -le 10 ]
do
SUM=`expr $num \* $num`
echo $SUM
num=`expr $num + 1`
done
六、untill
格式: until 条件
do
命令
done
until类似while循环,不同的是until是条件返回值为假时才继续执行。
【示例】
#!/bin/bash
# A test for until
until [ -x /etc/inittab ]
do
ls -l /etc/inittab
exit 0
done
七、跳出循环:break和continue
break:跳出整个循环
continue:跳过本次循环,进行下次循环
八、shift
参数左移,每执行一次,参数序列顺次左移一个位置,$#的值减1, 用于分别处理每个参数,移出去的参数不再可用
【示例】
#! /bin/sh
if [ $# -le 0 ]
then
echo "Not enough parameters"
exit 0
fi
sum=0
while [ $# -gt 0 ]
do
sum=`expr $sum + $1`
shift
done
echo $sum
函数应用
一、函数的定义:
函数名 ()
{
命令序列
}
二、函数的调用:不带()
函数名 参数1 参数2 ...
三、函数中的变量:
变量均为全局变量,没有局部变量
四、函数中的参数:
调用函数时,可以传递参数,在函 数中用$1、$2...来引用
Shell 脚本调试
sh -x script 这将执行该脚本并显示所有变量的值。
sh -n script 不执行脚本只是检查语法的模式,将返回 所有语法错误。
【命令最好使用绝对路径!】
【不用交互方式添加用户】
useradd mery
echo 123456 | passwd --stdin mery
【执行脚本所需要的权限】
1、该脚本拥有r权限 【不给x权限可以用sh执行】 2、对脚本所在目录有rx权限
转载于:https://blog.51cto.com/zhujifang/1380182
Linux 学习笔记_10_Shell编程_2_Shell编程语法(三)相关推荐
- Linux学习笔记---使用BusyBox创建根文件系统(三)
目录 创建/etc/init.d/rcS 文件 创建/etc/fstab 文件 创建/etc/inittab 文件 创建/etc/init.d/rcS 文件 通过nfs加载根文件系统成功后,在串口终端 ...
- Linux学习笔记 -- rpm 与 shell 编程
目录 rpm 与 YUM rpm 包的管理 rmp 包 查询 安装 卸载 yum 安装 JDK mysql 8.0 离线安装 Centos 7 忘记mysql的root密码 Shell 编程 shel ...
- Linux学习笔记---使用BusyBox创建根文件系统(四)
目录 软件运行测试 设置程序为后台运行 设置开机自启动 外网连接测试 软件运行测试 进入到rootfs文件夹中新建一个drivers文件夹,用于存放编写的软件. 新建hello.c文件 输入以下代码 ...
- Linux学习笔记---使用BusyBox创建根文件系统(二)
目录 向 rootfs 的"/lib "目录添加库文件 向 rootfs 的usr/lib 目录添加库文件 创建其他文件夹 根文件系统初步测试 向 rootfs 的"/l ...
- Linux学习笔记(3)- 网络编程以及范例程序
Linux学习笔记(3)- 网络编程以及范例程序 前言 网络介绍 IP地址的介绍 端口和端口号的介绍 通信流程 socket介绍 TCP介绍 python3编码转换 TCP客户端程序开发流程 多任务版 ...
- 学习笔记:Java 并发编程②_管程
若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 配套资料: ...
- 学习笔记:Java 并发编程①_基础知识入门
若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 视频下载: ...
- 【学习笔记】C++ 核心编程(二)类和对象——封装
内容来自小破站<黑马程序员C++>复习自用 [学习笔记]C++ 核心编程(二)类和对象--封装 4 类和对象 4.1 封装 4.1.1 封装的意义(一) 4.1.1 封装的意义(二) 4. ...
- 【Linux】Linux学习(四)Shell编程
Linux学习(四)Shell编程 Shell概述 Shell脚本入门 变量 系统预定义变量 自定义变量 特殊变量 运算符 条件判断 流程控制(重点) if判断 case语句 for循环 while循 ...
最新文章
- Android 追加写入文件的三种方法
- VC++格式化输出单个字符和格式化输出十六进制的不同形式
- linux内核启动后门,Linux内核模块入门之简单内核后门
- 第一百二十期:终于有篇看的懂的B树文章了!
- 英国-新加坡联合博士奖学金(人工智能、数字医疗方向)
- Apache Kylin 与 ClickHouse 的对比
- [Python] L1-034. 点赞 团体程序设计天梯赛GPLT
- 使用jQuery Mobile快速开发手机站点
- OSChina 周六乱弹 —— 表白有风险,装逼需谨慎
- 频谱分析仪的作用是什么?TFN FAT811手持式频谱分析仪
- 【C语言练习——打印空心下三角及其变形】
- 谈谈如何做到从未来看向当代的能源技术
- Visio中画各种线条与箭头
- 《必然》二、奔跑吧,所有人都是菜鸡
- 树莓派用iPad做显示器
- Photoshop路径与笔刷轻松制作轻纱漫舞
- 数字图像处理 - 灰度变换与空间滤波
- c# MVC 网页开发
- thinkbook14重装系统
- Java版 猜数字小游戏