重新点亮shell————语法[四]
前言
简单介绍一下语法。
正文
数组:
定义数组:
IPTS =(10.0.0.1 10.0.0.2 10.0.0.3)
显示所以数组元素:
echo ${IPTS[@]}
显示数组元素的个数
echo ${#IPTS[@]}
显示第一个元素:
echo ${IPTS[0]}
转义和引用:
特殊字符:
注释
; 分号 分割两行命令
\ 转义字符
"' 引号
转义符合:
单个字符前的转义符合:
\n\r\t 单个字母转义
$ 、"、 \ 单个非字母的转义
引用符号:
常用的引用符号:
"" 双引号
' 单引号
` 反引号
单引号和双引号在显示的时候还是不一样的。
` 反引号 可以用来执行命令。
赋值运算符:
算术运算符:
+-*/**%
使用expr 进行运算
expr 4 + 5 只能支持整数,4和+和5之间要有空格
数字常量:
let "变量名=变量值"
支持8进制和16进制
双圆括号:
((a=10))
((a++))
echo $((10+20))
if
if-then 基本用法:
if [测试条件成立] 或者 命令返回值为0
then 执行相应的命令
fi 结束
同样有了if-then,那么还可以使用if then else 这样的语句。
if-then-else 语句可以在条件不成立也运行相应的命令。
格式为:
if [测试 成立条件]
then 执行相应命令
else 测试条件不成立,执行相应命令
fi 结束
还可以使用:
if [测试 成立条件]
then 执行相应命令
else if [测试成立条件]
then 执行相应命令
else 测试条件不成立,执行相应命令
fi 结束
case
case 值 in
模式1)
command1
command2
...
commandN
;;
模式2)
command1
command2
...
commandN
;;
esac
循环
for 说明:
for file in $(ls .gz); do gunzip -c $file > ${file%%.} ;done
同样可以使用c语言风格的,比如说:
for ((i=1; i<=10;i++)); do command;done
这样的也可以。
while 说明:
while test测试一直成立
do
command
done
另外一种就是utile,就是和while 相反,while 是一直是真的时候执行,utile一直是假的时候执行。
util test测试一直成立
do
command
done
同样循环中有continue和break,和其他语言一样就不介绍了。
结
下一节特殊字符。
重新点亮shell————语法[四]的更多相关文章
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
- shell第四篇(上)
第四篇了解Shell 命令执行流程图 {网中人大哥推荐参考Learning the Bash Shell, 2nd Edition,第 178页:中文版229页} Shell 从标准输入或脚本中读取的 ...
- shell 编程四剑客简介 find sed grep awk(微信公众号摘抄)
一,Shell编程四剑客之Find 通过如上基础语法的学习,读者对Shell编程有了更近一步的理解,Shell编程不再是简单命令的堆积,而是演变成了各种特殊的语句.各种语法.编程工具.各种命令的集合. ...
- Shell编程四剑客包括:find、sed、grep、awk
一.Shell编程四剑客之Find Find工具主要用于操作系统文件.目录的查找,其语法参数格式为: find path -option [ -print ] [ -exec -ok command ...
- makefile中的shell语法
在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙.下面总结了一些. 1:尽在Makefile文件的目标项冒号后的另起一行的代码才是 ...
- Pocket英语语法---四、should的同义词是谁
Pocket英语语法---四.should的同义词是谁 一.总结 一句话总结:should表示劝告,建议,命令,其同义词是ought to,should强调主观看法,ought to强调客观要求.在疑 ...
- 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 ...
随机推荐
- 摆脱鼠标系列 - vscode 软件 最大化快捷键 - win + ↑
摆脱鼠标系列 - vscode 软件 最大化快捷键 - win + ↑ vscode默认打开不是最大化,所以按 win + 上箭头 使其最大化 不想按 F11 那个不太方便,左上角就没有项目名称了 优 ...
- C++字符串编码转换
C++中字符串有很多种类,详情参考C++中的字符串类型.本文主要以string类型为例,讲一下字符串的编码,选择string主要是因为: byte是字符串二进制编码的最小结构,字符串本质上就是一个by ...
- C++学习笔记之高级语法
目录 高级语法 面向对象--类 对象的属性 运算符重载 拷贝构造函数 IO缓存 头文件的重复包含问题 深拷贝与浅拷贝 面向对象三大特性 高级语法 面向对象--类 C++使用struct.class来定 ...
- python3中print()函数打印多个变量值
第一种方法: print("变量1", file_name, "变量2", new_name) print("变量1", file_name ...
- 逆向通达信Level-2 续七 (调试内置WebView)
通过窗口找WebView,打开DevTool调试 在WebView hack入控制台.那个,我已经打开了DevTool,算了. 通过pad面板找WebView. 逆向通达信Level-2 续十一 (无 ...
- Java递归实现全排列改进(二)---利用ArrayList实现去重
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Test{ priv ...
- Grails的数据库相关开发
1.开发domain和service 在出来的输入框里输入domain的名字,可以包括包名. 这里我输入test.domain.House,点finish 创建了两个groovy文件,一个当然是tes ...
- 写了个简单爬虫,分析 Boss 直聘自动驾驶岗位
两年前,朋友想知道 Boss 直聘上关于自动驾驶的岗位有哪些 ,于是,笔者写了一个简单的爬虫 crawler-boss ,将岗位的信息收集起来. 这篇文章,笔者想分享爬虫 crawler-boss 的 ...
- 记录--千万别让 console.log 上生产!用 Performance 和 Memory 告诉你为什么
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 很多前端都喜欢用 console.log 调试,先不谈调试效率怎么样,首先 console.log 有个致命的问题:会导致内存泄漏. 为什 ...
- 使用JMeter从JSON响应的URL参数中提取特定值
在使用Apache JMeter进行API测试时,我们经常需要从JSON格式的响应中提取特定字段的值.这可以通过使用JMeter内置的JSON提取器和正则表达式提取器来完成.以下是一个具体的例子,展示 ...