编写shell脚本的时候,最前面要加上一行:#!/bin/bash,因为linux里面不仅仅只有bash一个解析器,还有其它的,它们之间的语法会有一些不同,所以最好加上这一句话,告诉系统要用这个解析器。

一.shell变量

shell变量和一些编程语言不同,一般shell的变量赋值的时候不用带“$”,而使用或者输出的时候要带“$”。加减乘除的时候要加两层小括号。括号外面要有一个“$”,括号里面的变量可以不用“$”。需要注意的是,变量赋值,变量使用的时候不能有空格,否则会被解析成命令,报错无此命令。

例子:

结果如下图:

二.shell变量表达式

例子:

结果如图:

三.shell测试判断test或[]

需要注意的是使用[]的时候必须要每个变量之间都要有空格,和左右中括号也要有空格,否则报错。

结果如图:

四.shell条件分支结构语句

1.单分支判断语句

格式:if 条件 ; then 结果 fi ,最后面一定要有fi,在shell脚本里面,控制分支结构结束都要和开头的单词相反,例如,if <–> fi,case <–> esac。

结果如图:

2.双分支判断语句

结果如图:

3.多分支判断语句

多分支判断有两种,和C语言的一样 if else if,case。只是形式上有一些不同。

结果如图:


结果如图:

五.shell循环语句

1.while语句

while语句是只要条件为真就执行下面语句。
格式:
while 条件
do
语句
done

需要注意的是,这里的条件除了 while true 可以这样写,其它的条件都要用 test或者 []来判断


2.until语句

until语句是只要条件为假就执行下列语句
格式:
until 条件
do
语句
done

结果如图:

3.for语句

格式:
for 变量 in 列表
do
语句
done

结果如图:

六.shell函数

格式:
[function] funcName()
{
语句
[return 返回值]
}
返回值是可选的,如果没有显示return 则默认返回最后一条语句执行的结果。

Shell 函数返回值只能是整数,一般用来表示函数执行成功与否,0表示成功,其他值表示失败。如果 return 其他数据,比如一个字符串,往往会得到错误提示:“numeric argument required”。

如果一定要让函数返回字符串,那么可以先定义一个变量,用来接收函数的计算结果,脚本在需要的时候访问这个变量来获得函数返回值。

函数参数从$1到$n,$0 是文件名。

例子:

结果如图:

返回字符串,报错

结果如图:

转载于:https://blog.51cto.com/12630492/2169881

shell编程基本语法相关推荐

  1. Shell编程基础语法

    1.Shell编程概述 Shell是一个命令行解释器,它接收应用程序或用户的命令,然后调用操作系统内核. Shell还是一个功能强大的编程语言,易编写.易调试.灵活性强. ①Linux系统提供的She ...

  2. linux之shell编程基本语法

    Shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为bash Shell.Shell也是一门编程语言<解释型的编程语言>,即shell脚本<就是在用linux的s ...

  3. 【linux】shell编程 脚本语法

    1.对shell的认识 shell是linux中一个重要的层次,他是用户与系统交互作用的界面.最常见的使用方式:在介绍linux命令时,shell都是作为命令解释程序出现:他接收用户打入的命令,进行分 ...

  4. Linux的Shell编程基本语法

    编写shell脚本的时候,最开始的第一行要加上:      #!/bin/bash 这句话是告诉系统用bash这个解析器 一.shell变量 shell变量和一些编程语言不同,一般shell的变量赋值 ...

  5. Linux从入门到精通系列之SHELL编程awk语法结构及案例解析

    前言 AWK 是一种非常强大的文本分析工具.适合于文本处理和报表生成,它还有许多精心设计的特性,允许进行特殊技巧程序设计.对于短消息来说,比如处理话单文件,使用awk就非常方便. 一.awk介绍 1. ...

  6. Linux程序设计(Linux shell编程的例子:总结)

    各位看官们..."咱们今天还是接着上一回的内容列举具体的例子给大家.闲话休说,言归正转".啊?这 是谁呀,我还没有说,怎么把我想说的话都说出来了?看来台下的看官已经习惯我的风格了, ...

  7. Linux学习:Shell编程总结

    在学习L为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是shell仍然是一个非常灵活的工具.Shell不仅仅是命令的收集,而且是一门非常棒的编程语言.您可以通过使用 ...

  8. 第五阶段:shell编程企业实战,完整版

    第五阶段:shell编程企业实战 第一章shell变量核心基础与进阶 1.1节.什么是shell 什么是shell Shell是一个命令解释器,它的作用是解释执行用户输入的命令及程序等,用户输入一条命 ...

  9. shell编程--基本格式,基本语法,运算符,expr,(()),$[]

    02/shell编程 Shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为bash Shell Shell也是一门编程语言<解释型的编程语言>,即shell脚本< ...

最新文章

  1. 【数据结构】顺序栈的实现(C语言)
  2. Hadoop运维记录系列(十二)
  3. HDU Problem - 1455 Sticks
  4. Angular中ngModel的$render的详解
  5. Mschart图表制作
  6. Centos7.4 yum 安装MariaDB
  7. 电脑打开计算机显示远程过程调用失败,win7系统电脑弹出提示“远程过程调用失败且未执行”的解决方法...
  8. java 文件存在 覆盖_java – 如果文件存在于目录中,我该如何覆盖它
  9. python算法爬楼梯
  10. cad打开卡死_在打开cad文件的时候会出现死机的状态
  11. 店宝宝:电商拼购赛道正在路上
  12. 【Mac/iOS】解决CoreBluetooth中Characteristic的Properties显示问题
  13. 小程序数据获取限制问题解决
  14. source命令的用法
  15. 「Hortic Res」CsGPA1调控黄瓜耐寒性的分子机制
  16. JDBC 数据库编程基础
  17. GitHub怎么用?GitHub是什么?新手怎么用GitHub?图文并茂,不看都不行
  18. 杭电计算机考研经验总结
  19. three.js之自定义一个正方体(网格)
  20. 基于Linux的C++ Part 5 程序组织与开发方法

热门文章

  1. Deseq的理论基础
  2. C语言二级指针Demo - Win32 版本
  3. 图解netstat命令实例
  4. 解决Java Web对Linux服务器不能上传文件的难题
  5. 纠缠于沉没成本—— 你为什么应该忽视过去
  6. python基础学习(五)第一次修改
  7. Java JDBC数据库 之 DBUtil 封装类
  8. 【51nod】1559 车和矩形
  9. android布局中显示隐藏动画
  10. android open source