编写shell脚本的时候,最开始的第一行要加上:      #!/bin/bash

这句话是告诉系统用bash这个解析器

一、shell变量

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

例子:

#!/bin/basha=10
b=20
c="this is a test"
d=$((a+b))
e=$((a-b))
f=$((a*b))
g=$((a/b))
h=$((a%b))
i=$((a**3))echo $c
echo "a = "$a          #输出a的值
echo "b = "$b          #输出b的值
echo "a+b = "${d}      #输出a+b的值
echo "a-b = "${e}      #输出a-b的值
echo "a*b = "${f}      #输出a*b的值
echo "a/b = "${g}      #输出a/b的值
echo "a%b = "${h}      #输出a%b的值
echo "a^3 = "${i}     #输出a的3次方的值echo "a+b = "$((a+b))  #输出a+b的值
echo "a-b = "$((a-b))  #输出a-b的值
echo "a*b = "$((a*b))  #输出a*b的值
echo "a/b = "$((a/b))  #输出a/b的值
echo "a%b = "$((a%b))  #输出a%b的值
echo "a^3 = "$((a**3)) #输出a的3次方的值echo $((a+b*a-b/a+a%b+a**2)) #表达式可以很长

二、字符串操作:

${#string} : 计算长度${string:position} : 从position开始截取${string:position:length} : 从position开始截取length长度${string#substring} : 删除开始的字符串

三、语句判断

(1)test命令

-f:文件是否存在-d:目录是否存在-r:文件是否有读权限-w:文件是否有写权限-x:文件是否有执行权限

例子:

#!/bin/bash
filename=/home/zhangsan
test -f $filename && echo 'exist' || 'not exist'

(2)条件分支

三种条件分支:单分支、双分支和多分支

语法:

单分支

if[];then
echo 'aa'
fi

双分支

#!/bin/bash
if[];thenecho 'aa'
elseecho 'bb'
fi

多分支

#!/bin/bash
if[];thenecho 'aa'
elifecho 'bb'
elifecho 'cc'
fi

case in方式

#!/bin/bash
echo '输入一个值:'
read number
case $number in
1)echo '1';;
2)echo '2';;
*)echo '错误';;
esac

四、循环语句

(1)while do 循环

#!/bin/bash
i=10
while [ $i -eq 5 ];do echo $i;((i--));
done;

(2)until do 循环

#!/bin/bash
i=10
until (($a<0));doecho $i;((i--));
done;

(3)for循环

#!/bin/bash
for((i=1;i<=10;i++));doecho $i
done;

五、函数的定义

function function_name()

{ statement1

statement2

....

statementn

}

函数的调用

function_name parm1 parm2

Linux的Shell编程基本语法相关推荐

  1. linux之shell编程基本语法

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

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

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

  3. Linux _ Shell编程 — 循环语句

    Linux _ Shell编程 - 循环语句 一.循环语句for的用法 二.循环语句while的用法 三.循环控制语句 一.循环语句for的用法 for 变量名 in 单词表do命令表done 变量依 ...

  4. 运维 - 第一阶段 - linux与shell编程

    linux与shell编程 讲师:墨竹 系统运维与linux 1.系统运维是什么 简单来说运维(Operation and maintenance)是指对公司硬件和软件的维护. 硬件包括:机房.机柜. ...

  5. Linux之shell编程篇-----Shell 函数和Shell 输入/输出重定向

    ​ 最近发现了一个挺厉害的人工智能学习网站,内容通俗易懂,风趣幽默,感兴趣的可以点击此链接进行查看:床长人工智能教程 废话不多说,请看正文! ​ Shell 函数 1. 自定义函数 linux she ...

  6. shell for循环1到100_浅谈Linux下shell 编程的for循环常用的6种结构

    浅谈Linux下shell 编程的for循环常用的6种结构 1. 常用for循环结构 (1) for 变量 in 值1 值2 值3... do 程序块儿 done (2) for 变量 in `命令` ...

  7. linux中快捷脚本,Linux下Shell编程快捷键大全(日常整理)

    有时候,我们需要在 Bash 中重复执行先前的命令.你当然可以使用上方向键来查看之前曾经运行过的命令.但这里有一些更好的方式,例如,数量掌握以下的快捷键. 1) !!:重复执行上一条指令 2) !a: ...

  8. linux系统——Shell编程之变量解释

    linux系统--Shell编程之变量解释 - Shell能做什么 自动化批量系统初始化程序 (update,软件安装,时区设置,安全策略-) 自动化批量软件部署程序 (LAMP,LNMP,Tomca ...

  9. Linux _ Shell编程 — 功能语句

    Linux _ Shell编程 - 功能语句 一.说明性语句 二.常用功能性语句 1.常用功能性语句(read命令) 2.expr命令 三.结构性语句 条件测试语句 字符串测试 整数测试 文件的测试 ...

最新文章

  1. vue中v-for循环如何将变量带入class的属性名中
  2. Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04
  3. 家在深圳接入云信,让用户在社交中感受到“家在深圳”
  4. 洛谷P2566 [SCOI2009]围豆豆(状压dp+计算几何)
  5. ABAP bit 操作
  6. 【贪心】Vijos P1615 旅行
  7. iOS设计模式之单例模式
  8. JavaScript tip
  9. “近一个月”、“近三个月”这种查询如何处理更精确?
  10. python linux 下开发环境搭建
  11. mysql内容_mysql 的基本内容
  12. 如何更改字体隶书html,隶书转换
  13. 匿名电子邮件转发系统
  14. 快恢复二极管工作原理及使用
  15. 服务器带宽上行与下行是什么意思,有什么区别
  16. Graphics2D画图
  17. 【Linux】Linux的管道
  18. python unzip解压缩_Python压缩和解压缩文件(zip/unzip)
  19. Kilobots模拟器Kilombo
  20. 【精选】JAVA入门算法题(一)

热门文章

  1. 干巴爹、压灭跌、马杀鸡是什么意思
  2. Apache Pulsar Summit Asia 2020 正式启动,演讲议题征集中!
  3. 基于MCS-51单片机路口红绿灯控制设计(含源码及Proteus布线图)
  4. 家装灯线走线图_家装电路布线施工图文并茂详细解说
  5. 赛博空间中的信息获取
  6. Google APIs .net 客户端库初体验
  7. 树莓派镜像烧录教程(史上最全,最完整的树莓派学习专栏)
  8. 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第十七集
  9. C#产生随机数之一 生成真随机数
  10. 虫堡大作战java_《百战天虫:虫堡大作战》详细攻略大全