前言

简单介绍一下语法。

正文

数组:

定义数组:

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————语法[四]的更多相关文章

  1. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  2. shell第四篇(上)

    第四篇了解Shell 命令执行流程图 {网中人大哥推荐参考Learning the Bash Shell, 2nd Edition,第 178页:中文版229页} Shell 从标准输入或脚本中读取的 ...

  3. shell 编程四剑客简介 find sed grep awk(微信公众号摘抄)

    一,Shell编程四剑客之Find 通过如上基础语法的学习,读者对Shell编程有了更近一步的理解,Shell编程不再是简单命令的堆积,而是演变成了各种特殊的语句.各种语法.编程工具.各种命令的集合. ...

  4. Shell编程四剑客包括:find、sed、grep、awk

    一.Shell编程四剑客之Find Find工具主要用于操作系统文件.目录的查找,其语法参数格式为: find path -option [ -print ] [ -exec -ok command ...

  5. makefile中的shell语法

    在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙.下面总结了一些. 1:尽在Makefile文件的目标项冒号后的另起一行的代码才是 ...

  6. Pocket英语语法---四、should的同义词是谁

    Pocket英语语法---四.should的同义词是谁 一.总结 一句话总结:should表示劝告,建议,命令,其同义词是ought to,should强调主观看法,ought to强调客观要求.在疑 ...

  7. Hadoop学习笔记之HBase Shell语法练习

    Hadoop学习笔记之HBase Shell语法练习 作者:hugengyong 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令 ...

  8. Shell语法规范

    ver:1.0 博客:https://www.cnblogs.com/Rohn 本文介绍了Shell编程的一些语法规范,主要参考依据为谷歌的Shell语法风格. 目录 背景 使用哪一种Shell 什么 ...

  9. shell语法习题练习进阶版

    第4章 shell语法深度习题练习 4.1 使用if,case,函数的方法将服务改成system(centos6) 4.1.1 if方法 4.1.1.1 system实现 4.1.1.1.1 编写代码 ...

  10. 读完学会shell语法,shell脚本80%已经学会

    第3章 shell语法讲解 3.1 shell运算讲解 3.1.1 运算符的讲解 3.1.2 shell运算方式的讲解 3.1.2.1 $(())运算 [root@m01 test_init] # a ...

随机推荐

  1. C++ //vector 容器构造 vector赋值操作 vector 容量大小 vector插入和删除 //vector数据存取 vector互换容器 vector预留空间

    1 //vector 容器构造 vector赋值操作 vector 容量大小 vector插入和删除 2 //vector数据存取 vector互换容器 vector预留空间 3 #include&l ...

  2. CSV转Excel,命中关键词标红

    CSV转Excel,命中关键词标红 package com.wenwo.schedule.job.mainJob; import java.io.ByteArrayOutputStream; impo ...

  3. MySql学习之初识SQLyog

    •SQLyog安装与配置 [安装包,提取码:w6sj] [安装教程,提取码:cwqu] •MySQL的语法规范 不区分大小写,但建议关键字大写,表名.列名小写 每条命令最好用分号结尾 每条命令根据需要 ...

  4. 新零售SaaS架构:什么是线上商城系统?

    零售商家为什么要建设线上商城 传统的实体门店服务范围有限,只能吸引周边500米内的消费者.因此,如何拓展服务范围,吸引更多消费者到店,成为了店家迫切需要解决的问题. 缺乏忠实顾客,客户基础不稳,往往是 ...

  5. whale - awesome 关联单词

    whale - awesome 关联单词 whale 对应 awesome 里面的 awe 两个含义应该是一样的. whale wa哇-惊叹词-大型海洋生物-鲸鱼 来自古英语hwael,大型海洋生物, ...

  6. tomcat startup.bat 包含springboot的输出 里面乱码的解决方案

    springboot输出是用的 logger 它的编码是 UTF-8 tomcat 默认也是UTF-8 但是win10 默认的 命令窗口是 GBK的,如果把tomcat 和 springboot的格式 ...

  7. 手撕fft系列之频移fftshift源码解析

    壹: fft在数字信号处理领域是一个神一样的存在.要好好熟悉一下.这里给出频移的算法源码解析. 所谓的频移,就是把数字信号的频频顺序打乱,移动一些.这个在防止啸叫和辅听领域应用十分广泛. 贰: 这个源 ...

  8. github无法访问?vscode 无法使用github登录同步? 改 hosts 吧

    一.无法访问 github.com ? 想要去 github.com 上拿来主义,结果访问不了,或者 npm 时一直失败? 是什么原因不用问,直接使用 https://tool.lu/ip/  查询到 ...

  9. Android native项目编译v7a时-Werror参数导致报错

    在GitHub上下载了一个demo,自己编译运行时,v8a的so是可以正常编译运行的,但是就是v7a的不能也一直报错,最后发现在Android.mk文件里去掉-Werror字段就可以了.于是上网了解了 ...

  10. Performance Improvements in .NET 8 -- Native AOT & VM & GC & Mono【翻译】

    原生 AOT 原生 AOT 在 .NET 7 中发布.它使 .NET 程序在构建时被编译成一个完全由原生代码组成的自包含可执行文件或库:在执行时不需要 JIT 来编译任何东西,实际上,编译的程序中没有 ...