Linux shell 实现按任意键继续


1. 将实现方法封装在函数中,需要使用的时候直接引用

此部分内容部分引用于:https://blog.csdn.net/hantoy/article/details/114926961

#!/bin/sh
########## 通用工具函数实现功能“按任意键继续” #########
function get_char()
{
	SAVEDSTTY=`stty -g`
	stty -echo
	stty cbreak
	dd if=/dev/tty bs=1 count=1 2> /dev/null
	stty -raw
	stty echo
	stty $SAVEDSTTY
	}

function pause()
{
	# 启用功能的开关 1开启|其它不开启
	enable_pause=1

	# 判断第一个参数是否为空,约定俗成的写法
	if [ "x$1" != "x" ]; then
		echo $1
	fi
	if [ $enable_pause -eq 1 ]; then
		# echo "Press any key to continue!"
		echo "按任意键继续!"
		char=`get_char`
	fi
}

function isOK()
{
	if [ $1 -eq 0 ]; then
		echo $2
	else
		pause "执行失败,退出程序!"
		exit
	fi
}
########## 通用工具函数实现功能“按任意键继续” #########

2. 在实际场景中调用函数

# 删除.jar文件
rm -f /home/patch/roc-jar/*.jar
isOK $? "删除jar文件成功!"

cp /home/share/FTP/ROC/v2prod/*.jar /home/patch/roc-jar/
isOK $? "复制需要更新的jar文件成功!"
pause

或者

# 删除.jar文件
rm -f /home/patch/roc-jar/*.jar
if [ $? -eq 0 ]; then
        echo "删除jar文件成功!"
        cp /home/share/FTP/ROC/v2prod/*.jar /home/patch/roc-jar/
	if [ $? -eq 0 ]; then
		pause "复制需要更新的jar文件成功!"	
	else
		pause "复制失败!"
	fi
else
	pause "删除文件失败!"
fi

3. if [ “x$1” != “x” ] 说明

if [ "x$1" != "x" ]; then
# $1:脚本的第一个外置参数
# 比如:pause a b,那么$1=a, "x$1"就等于"Xa",带入到这里就是if["xa" != "x"]
# 这样写的主要目的是避免编译错误,如果这样写if[$1=$2]如果$1是空那么编译可能会出错

4. 通过read命令实现按任意键继续

# Linux read命令用于从输入中读取单行数据
read -p "按任意键继续!"

5. 下载脚本

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炎方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值