Linux Shell编程三
case分支条件语句。
case "string" in
pattern_1)
commands
;;
pattern_2)
commands
;;
*)
commands
;;
esac
当条件语句中的string等于patern字符串时执行pattern下面命令。
当没有符合条件时,最后执行*)。
";;"相当于switch语句中的break关键字,不加";;"会报错。

for循环语句。
for varname in list ;
do
commands
done
list可以是一个字符串或数字
for每执行一次循环就将varname指定为list中的一个值,直到list这个数组结束。
sun=
for i in ;
do
echo "$i" #i是列表list中的每一个值
done
exit语句
exit code
exit可以让一个shell退出,与C语言的exit函数类似。
:语句
:
代表空语句,本身没有任何作用,但又是合法的语句,他经常用来填补程序设计的空缺。
shell和C语言一样,可以提供自定义函数。
function funcname
{
commands
}
使用函数前必须先定义函数。
#! /bin/sh
function func
{
echo "num is " $ #函数中的$1表示的是这个函数的参数,而不是这个脚本的参数
} func $
#注意shell脚本函数的传参,必须跟在func调用后面传参
#! /bin/sh
function func
{
echo "function is begin !"
a=$
b=$
return `expr $a + $b`
} func $ $
var1=$?
echo $var1
函数参数的返回值。
Linux Shell编程三的更多相关文章
- linux shell编程(三) if 和 for
if 条件判断: 单分支的if语句if 判断条件: then statement1fi双分支的if语句if 判断条件;then statement1 statementelse statement3f ...
- linux shell编程总结
linux shell编程总结 本周学习了unix/linux shell编程,参考的是<LINUX与UNIX Shell 编程指南>,David Tansley著:徐焱,张春萌等译,由机 ...
- Linux Shell编程参考大全
本文记录Linux Shell编程中常用基本知识,方便快速入门以及查询使用. 本文主要分为以下几个部分: 一.Shell中的变量 任何编程语言中,有关变量的定义,作用范围,赋值等都是最最基础的知识. ...
- linux shell 编程参考
#!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(m ...
- 一文学完Linux Shell编程,比书都好懂
一. Shell 编程 1. 简介 Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务. Shell 既是一种命令语言,又是一种程序设计语言. Shell scr ...
- 前端学习 linux —— shell 编程
前端学习 linux - shell 编程 shell 原意是"外壳",与 kernel(内核)相对应,比喻内核外的一层,是用户和内核沟通的桥梁.shell 有很多种,国内通常使用 ...
- linux —— shell 编程(文本处理)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed aw ...
- linux —— shell 编程(编程语法)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 ...
- Linux网络编程(三)
Linux网络编程(三) wait()还是waitpid() Linux网络编程(二)存在客户端断开连接后,服务器端存在大量僵尸进程.这是由于服务器子进程终止后,发送SIGCHLD信号给父进程,而父进 ...
随机推荐
- swift基础一
// swift中导入类库使用import,不再使用<>和"" import Foundation // 输出 print("Hello, World!&qu ...
- 卸载openfire
首先,确保你已经关掉了openfire打开终端 (在应用程序-->实用工具-->)输入以下命令sudo rm -rf /Library/PreferencePanes/Openfire.p ...
- 系统自带的NSJSONSerialization解析json文件
#import "ViewController.h" #import "Student.h" #import "GDataXMLNode.h" ...
- iOS 视频选择压缩
//原理,还是调用UIImagePickerController控制器,设置Type为视频 #import "ViewController.h" #import <AVFou ...
- iOS开发网络篇—Reachability检测网络状态
前言:当应用程序需要访问网络的时候,它首先应该检查设备的网络状态,确认设备的网络环境及连接情况,并针对这些情况提醒用户做出相应的处理.最好能监听设备的网络状态的改变,当设备网络状态连接.断开时,程序也 ...
- Effective Java 39 Make defensive copies when needed
Principle It is essential to make a defensive copy of each mutable parameter to the constructor. Def ...
- 用java程序输出自己的姓名
代码部分: public class Hello { public static void main(String[] args) { System.out.println("$$$$$$$ ...
- linux指定账号下配置单独的jdk版本
1.下载tar.gz格式的安装包,上传到服务器,并解压,本例使用jdk-7u79-linux-i586.tar.gz 2.进入指定账户的目录下, vi .bashrc,添加环境变量并保存: ...
- hdu 2583 permutation
permutation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- How to use python remove the '^M' when copy words from Windows to Linux
今天帮同事用Python写了一个小工具,实现了在linux下批量文件名和去掉windows 文件到linux过程中产生^M的脚本,代码如下: !/opt/exptools/bin/python imp ...