linux笔记九(shell 脚本)

本文介绍了Shell脚本的基础知识,包括使用test指令进行条件测试,理解shellscript默认变量及shift命令的作用,掌握if...then与case...esac等条件判断语句的用法,以及如何运用循环结构和进行shellscript的调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        shell script 是利用 shell 的功能所写的一个『程序 (program)』,这个程序是使用纯文本文
件,将一些 shell 的语法与指令(含外部指令)写在里面, 搭配正规表示法、管线命令与数据流重
导向等功能,以达到我们所想要的处理目的。


利用test指令的测试功能



使用判断符号 [ ] 
(中括号的使用方法与 test 几乎一模一样)但要注意:
在中括号 [] 内的每个组件都需要有空格键来分隔; 
在中括号内的变数,最好都以双引号括号起来; 
在中括号内的常数,最好都以单或双引号括号起来。


Shell script 的默认变数($0, $1...) 


shift:造成参数变量号码偏移


条件判断式
利用 if .... then
单层、简单条件判断式

多重、复杂条件判断式

如果考虑更复杂的情况,则可以使用这个语法:




netstat的指令,这个指令可以查询到目前主机有开启的网络服务端口 (service ports),
可以利用『 netstat -tuln 』来取得目前主机有启动的服务。

利用 case ..... esac 判断


利用 function 功能
function fname() { 
  程序段 

另外, function 也是拥有内建变量的~他的内建变量与 shell script 很类似, 函数名称代表示 $0 ,
而后续接的发量也是以 $1, $2... 来取代的。


循环
while do done, until do done (不定循环)



for...do...done (固定循环) 
for var in con1 con2 con3 ... 
do 
  程序段 
done 

for...do...done 的数值处理
for (( 开始值; 限制值; 执行步阶 )) 
do 
  程序段 
done  


shell script 的追踪与debug 
[root@www ~]# sh [-nvx] scripts.sh 
选项与参数: 
-n  :不要执行 script,仅查询语法的问题; 
-v  :再执行 sccript 前,先将 scripts 的内容输出到屏幕上; 
-x  :将使用到的 script 内容显示到屏幕上,这是很有用的参数!
 
shell script 的执行,至少需要有r的权限,若需要直接指令下达,则需要拥有r与x的权限;










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值