linux-运维进阶-09 编写Shell脚本

本文详细介绍了如何编写和执行Linux Shell脚本,包括指定解释器、创建及赋予脚本执行权限、不同执行方式。内容涵盖参数接收、条件判断(整数、字符串比较)、流程控制(if、for、case)等,旨在提升Linux运维人员的Shell脚本能力。
摘要由CSDN通过智能技术生成

linux-运维进阶-09 编写Shell脚本

可以将Shell终端解释器当作人与计算机硬件之间的“翻译官”,它作为用户与Linux系统内部的通信媒介,除了能够支持各种变量与参数外,还提供了诸如循环、分支等高级编程语言才有的控制结构特性。

  • 交互式(Interactive):用户每输入一条命令就立即执行。
  • 批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多的命令。

指定解释器

脚本的第一行

用于指定脚本使用哪个shell程序做为脚本中命令的解释器

使用bash做为脚本命令的解释器

#!/bin/bash

使用zsh做为脚本的命令解释器

#!/bin/zsh

创建一个脚本

[root@localhost ~]# vim hello.sh

里面输入:
#!/bin/bash
echo "helloworld"
保存退出

执行一个脚本

[root@localhost ~]# ./hello.sh
-bash: ./hello.sh: Permission denied	#发现你的权限不够
[root@localhost ~]# 

添加执行权限

脚本写完后运行,利用./执行发现权限不够。Linux文件创建之后默认是没有可执行权限的,可以用chmod给文件或目录添加上可执行权限

[root@localhost ~]# ll
[root@localhost ~]# chmod +x hello.sh 
[root@localhost ~]# ll
[root@localhost ~]# ./hello.sh 
helloworld
[root@localhost ~]# 

上面两次ll出来的文件列表,是为了对比出添加权限前后文件权限的变化,x表示可执行。

没有执行权限情况下想要执行脚本的两种方式

首先咱们在新建一个脚本
[root@localhost ~]# vim aaa.sh
里面输入:
#!/bin/bash
echo "hello aaa"
保存退出

验证它无权限被执行
[root@localhost ~]# ./aaa.sh
-bash: ./aaa.sh: Permission denied

解释器后面跟上脚本

[root@localhost ~]# bash aaa.sh 
hello aaa

点加空格后面跟上脚本或者脚本的全路径

[root@localhost ~]# . aaa.sh 
hello aaa

Shell脚本执行的几种方法

在脚本拥有可执行权限之后,我们就可以去执行脚本,执行脚本有以下几种方式:

在脚本所在目录下时

[root@localhost ~]# ./hello.sh 
helloworld
[root@localhost ~]# . hello.sh 
helloworld
[root@localhost ~]# bash hell
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值