Linux的Shell编程基本语法
编写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编程基本语法相关推荐
- linux之shell编程基本语法
Shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为bash Shell.Shell也是一门编程语言<解释型的编程语言>,即shell脚本<就是在用linux的s ...
- 【linux】shell编程 脚本语法
1.对shell的认识 shell是linux中一个重要的层次,他是用户与系统交互作用的界面.最常见的使用方式:在介绍linux命令时,shell都是作为命令解释程序出现:他接收用户打入的命令,进行分 ...
- Linux _ Shell编程 — 循环语句
Linux _ Shell编程 - 循环语句 一.循环语句for的用法 二.循环语句while的用法 三.循环控制语句 一.循环语句for的用法 for 变量名 in 单词表do命令表done 变量依 ...
- 运维 - 第一阶段 - linux与shell编程
linux与shell编程 讲师:墨竹 系统运维与linux 1.系统运维是什么 简单来说运维(Operation and maintenance)是指对公司硬件和软件的维护. 硬件包括:机房.机柜. ...
- Linux之shell编程篇-----Shell 函数和Shell 输入/输出重定向
最近发现了一个挺厉害的人工智能学习网站,内容通俗易懂,风趣幽默,感兴趣的可以点击此链接进行查看:床长人工智能教程 废话不多说,请看正文! Shell 函数 1. 自定义函数 linux she ...
- 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 `命令` ...
- linux中快捷脚本,Linux下Shell编程快捷键大全(日常整理)
有时候,我们需要在 Bash 中重复执行先前的命令.你当然可以使用上方向键来查看之前曾经运行过的命令.但这里有一些更好的方式,例如,数量掌握以下的快捷键. 1) !!:重复执行上一条指令 2) !a: ...
- linux系统——Shell编程之变量解释
linux系统--Shell编程之变量解释 - Shell能做什么 自动化批量系统初始化程序 (update,软件安装,时区设置,安全策略-) 自动化批量软件部署程序 (LAMP,LNMP,Tomca ...
- Linux _ Shell编程 — 功能语句
Linux _ Shell编程 - 功能语句 一.说明性语句 二.常用功能性语句 1.常用功能性语句(read命令) 2.expr命令 三.结构性语句 条件测试语句 字符串测试 整数测试 文件的测试 ...
最新文章
- vue中v-for循环如何将变量带入class的属性名中
- Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04
- 家在深圳接入云信,让用户在社交中感受到“家在深圳”
- 洛谷P2566 [SCOI2009]围豆豆(状压dp+计算几何)
- ABAP bit 操作
- 【贪心】Vijos P1615 旅行
- iOS设计模式之单例模式
- JavaScript tip
- “近一个月”、“近三个月”这种查询如何处理更精确?
- python linux 下开发环境搭建
- mysql内容_mysql 的基本内容
- 如何更改字体隶书html,隶书转换
- 匿名电子邮件转发系统
- 快恢复二极管工作原理及使用
- 服务器带宽上行与下行是什么意思,有什么区别
- Graphics2D画图
- 【Linux】Linux的管道
- python unzip解压缩_Python压缩和解压缩文件(zip/unzip)
- Kilobots模拟器Kilombo
- 【精选】JAVA入门算法题(一)
热门文章
- 干巴爹、压灭跌、马杀鸡是什么意思
- Apache Pulsar Summit Asia 2020 正式启动,演讲议题征集中!
- 基于MCS-51单片机路口红绿灯控制设计(含源码及Proteus布线图)
- 家装灯线走线图_家装电路布线施工图文并茂详细解说
- 赛博空间中的信息获取
- Google APIs .net 客户端库初体验
- 树莓派镜像烧录教程(史上最全,最完整的树莓派学习专栏)
- 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第十七集
- C#产生随机数之一 生成真随机数
- 虫堡大作战java_《百战天虫:虫堡大作战》详细攻略大全