shell 语法
1). 条件表达式语法信息
[ 1 -eq 1 ] && echo 1 <-- 表示条件成功,执行相应操作
[ 1 -eq 1 ] || echo 1 <-- 表示条件失败,执行相应操作
[ 1 -eq 1 ] && { <-- 表示条件成功,执行相应多个操作
echo 1
echo 2
}
[ 1 -eq 1 ] || { <-- 表示条件失败,执行相应多个操作
echo 1
echo 2
}
总结说明: 以上条件表达式用法相当于if单分支语句
系统脚本中单分支判断都不用if来进行条件判断
[ 1 -eq 1 ] && { <-- 表示条件成功,执行相应多个操作
echo 1
echo 2
} || {
echo 3 <-- 表示条件失败,执行相应多个操作
echo 4
}
总结说明: 以上条件表达式用法相当于if双分支语句
2). if条件语法信息
if [ <测试表达式> ] <-- 单分支if语句
then
指令信息...
fi
if [ <测试表达式> ] <-- 双分支if语句
then *补充: 在if语句中需要掌握冒号用法
指令信息...
else
指令信息...
fi
if [ <测试表达式> ] <-- 多分支if语句
then
指令信息...
elif [ <测试表达式> ]
then
指令信息...
else
指令信息...
fi
总结说明: 多分支语句也可以类似于case条件语句
3). case条件语法信息
a. 服务启动停止脚本(传参的个数有限)
b. 根据菜单信息进行选择
c. 有yes或no进行交互的时候
case "变量" in
1)
指令01...
;;
2)
指令02...
;;
3)
指令03...
;;
*)
指令04...
esac
总结说明: case条件语句也可以类似于if多分支语句
4). while循环语法信息
while <测试表达式>
do
指令信息...
done
while true
do
指令信息...
usleep xxx
done
总结说明: 实现守护进程方式运行
while read line
do
指令信息...
done<$1
总结说明: 实现读取文件内容, 按行进行读取
5). for循环语法信息
for 变量名 in 变量列表信息
do
循环指令信息...
done
for ((i=1;i<=10;i++))
do
循环指令信息...
done
6). 函数编写方式
function test(){
local i <-- 设置函数局部变量信息
return 11 <-- 设置函数执行调用后返回值信息
}
function test {
local i <-- 设置函数局部变量信息
return 11 <-- 设置函数执行调用后返回值信息
}
test(){
local i <-- 设置函数局部变量信息
return 11 <-- 设置函数执行调用后返回值信息
}
说明: 函数中如果有传参信息, 需要在调用函数时进行传参
shell 语法的更多相关文章
- makefile中的shell语法
在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙.下面总结了一些. 1:尽在Makefile文件的目标项冒号后的另起一行的代码才是 ...
- Hadoop学习笔记之HBase Shell语法练习
Hadoop学习笔记之HBase Shell语法练习 作者:hugengyong 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令 ...
- Shell语法规范
ver:1.0 博客:https://www.cnblogs.com/Rohn 本文介绍了Shell编程的一些语法规范,主要参考依据为谷歌的Shell语法风格. 目录 背景 使用哪一种Shell 什么 ...
- shell语法习题练习进阶版
第4章 shell语法深度习题练习 4.1 使用if,case,函数的方法将服务改成system(centos6) 4.1.1 if方法 4.1.1.1 system实现 4.1.1.1.1 编写代码 ...
- 读完学会shell语法,shell脚本80%已经学会
第3章 shell语法讲解 3.1 shell运算讲解 3.1.1 运算符的讲解 3.1.2 shell运算方式的讲解 3.1.2.1 $(())运算 [root@m01 test_init] # a ...
- shell语法
基本语法列表 #linux组成:内核+工具 #linux启动: . getty:提示登录名和密码,输入之后调用login . login:login验证用户名和密码,然后调用shell . shell ...
- Shell 语法 if 、 case 、for 、 while、 until 、select 、repeat、子函数
if语法 : if [ expression ] then commandselif [ expression2 ] then commandselse commandsfi ...
- Shell 语法之结构化命令(流程控制)
许多程序在脚本命令之间需要某种逻辑流控制,允许脚本根据变量值的条件或者其他命令的结果路过一些命令或者循环执行这些命令.这些命令通常被称为结构化命令.和其他高级程序设计语言一样,shell提供了用来控制 ...
- shell语法快速入门(1)
#得到绝对路径 DIR=$(cd `dirname $0`;pwd) $DIR/file.txt #去掉#注释 egrep -v "(#|^$)" /etc/zabbix/zabb ...
- shell语法基础
一.变量 1.linux大小写敏感,变量取名要注意大小写.可以通过变量名前面加$来访问变量的内容.可以通过使用read命令来将用户输入的值赋给一个变量. 2.给变量赋值时,如果字符串中包含空格,就必须 ...
随机推荐
- JavaEE互联网轻量级框架整合开发(书籍)阅读笔记(3):常用动态代理之JDK动态代理、CGLIB动态代理
一.动态代理的理解 动态代理的意义在于生成一个占位(又称代理对象),来代理真实对象,从而控制真实对象的访问. 先来谈谈什么是代理模式. 假设这样一个场景:你的公司是一家软件 ...
- 编写高质量代码改善C#程序的157个建议——建议5: 使用int?来确保值类型也可以为null
建议5: 使用int?来确保值类型也可以为null 基元类型为什么需要为null?考虑两个场景: 1)数据库中一个int字段可以被设置为null.在C#中,值被取出来后,为了将它赋值给int类型,不得 ...
- wp面试题
初级工程师 解释什么是依赖属性,它和以前的属性有什么不同?为什么在WPF会使用它? 什么是样式什么是模板 绑定(Binding )的基础用法 解释这几个类的作用及关系: Visual, UIEleme ...
- [.net 多线程]ThreadPool的安全机制
ThreadPool类,有两个方法我们没有用到,UnsafeQueueUserWorkItem 和UnsafeRegisterWaitForSingleObject. 为了完全理解这些方法,首先,我们 ...
- IE11下使用fixed定位时鼠标滚动不平滑
很久不用IE了,近期做兼容性测试发现一个fixed定位的问题,当元素使用fixed定位时,其应该不随页面滚动,在chrome/firefox/edge下都很完美,元素完全不动,但是使用IE11时,如果 ...
- 以太坊系列之三: 以太坊的crypto模块--以太坊源码学习
以太坊的crypto模块 该模块分为两个部分一个是实现sha3,一个是实现secp256k1(这也是比特币中使用的签名算法). 需要说明的是secp256k1有两种实现方式,一种是依赖libsecp2 ...
- 十一、Node.js监听代码改动自动重启node插件supervisor
我们慢慢地发现,每次我们稍微改变js代码都需要重启服务才能在浏览器显示新的效果,很麻烦,这里我们可以通过npm命令安装supervisoror插件,安装方法如下 之前章节我们知道安装了nodejs就会 ...
- VSCode提示pylint isnot installed
1.下载所需扩展 在https://www.lfd.uci.edu/~gohlke/pythonlibs/中下载所需扩展,我下载的是:pylint-2.1.1-py2.py3-none-any.whl ...
- myeclipse2014 安装maven3.3.9和maven配置本地仓库 及错误修改
结合网上的知识梳理以及自己安装的经验 myeclipse2014 安装maven3.3.9和maven配置本地仓库 及犯的错误修改 成功搞定maven 1,安装 Maven 之前要求先确定你的 J ...
- LAMP课程(3)
LAMP课程(3) 一.bash的使用 1.1.输出重定向 >:覆盖输出(写入内容) 具体实例1:将内容写入到文件中 >>:追加输出 具体实例2: 1.2 && ...