ftp-server进程健康检查脚本总结

本文总结了Bash脚本开发的规范,包括脚本解析器的选择、变量引用、命令替换、变量初始化等,同时介绍了Bash中的特殊保留字及其作用,强调了避免代码重复和环境验证的重要性。

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

实现FTP-Server进程健康检查的一个shell脚本,寥寥数行代码却问题频出,在此总结一二。

一.脚本书写规范:

1.脚本开发时,务必在脚本的开头编写脚本解析器。

note:开发人员一般采用默认的B SHELL 即#!/bin/bash ,也有采用#!/bin/sh,两者在语法上是存在一定差异的,无特殊情况下,必须强制使用#!/bin/bash。

2.对变量进行引用或字符串组合时,必须使用${}将变量括起来。

note:对变量进行字符串组合或者引用时,虽然脚本解析器会自动匹配变量,但是在某些特殊的变量名称场景下可能出错,为了避免出错,必须将变量通过${}括起来。

3.命令替换时避免使用反引号` `,选择使用$()。

note:` ` 很容易与 ' ' ( 单引号)搞混,使用$()对命令域包含起来,不容易丢失,清晰直观。

4.初始化一个变量为空时,必须使用num="" 或者unset num,不得使用num=之类的表达式。

eg:

建议使用: unset num 或者num=””

不建议使用: num=

二.Bash 中的特殊保留字:

$IFS 这个变量中保存了用于分割输入参数的分割字符,默认识空格。

$HOME 这个变量中存储了当前用户的根目录路径。

$PATH 这个变量中存储了当前 Shell 的默认路径字符串。

$PS1 表示第一个系统提示符。

$PS2 表示的二个系统提示符。

$PWD 表示当前工作路径。

$EDITOR 表示系统的默认编辑器名称。

$BASH 表示当前Shell的路径字符串。

$1, $2, ... 表示系统传给脚本程序或脚本程序传给函数的第一个、第二个等参数。 $0表示当前脚本的文件名。

$# 表示脚本程序的命令参数个数或函数的参数个数。

$$ 表示该脚本程序的进程号,常用于生成文件名唯一的临时文件。

$? 表示脚本程序或函数的返回状态值,正常为 0,否则为非零的错误号。

$* 表示所有的脚本参数或函数参数。 $@ 和 $* 涵义相似略有区别,但是比 $* 更安全。

$! 表示最近一个在后台运行的进程的进程号。

三.注意事项:

1.避免代码重复,增加冗余度。

2.针对脚本里面展示的任何一种情况都要在环境上进行验证。

Eg:针对本脚本要验证进程启动、进程健康或者进程故障的各个情况是否能正确输出,日志能否正常打印。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值