文章目录
1. 将实现方法封装在函数中,需要使用的时候直接引用2. 在实际场景中调用函数3. if [ "x$1" != "x" ] 说明4. 通过read命令实现按任意键继续5. [下载脚本](/download/dajun_x/16237726)1. 将实现方法封装在函数中,需要使用的时候直接引用
此部分内容部分引用于:/hantoy/article/details/114926961
#!/bin/sh########## 通用工具函数实现功能“按任意键继续” #########function get_char(){SAVEDSTTY=`stty -g`stty -echostty cbreakdd if=/dev/tty bs=1 count=1 2> /dev/nullstty -rawstty echostty $SAVEDSTTY}function pause(){# 启用功能的开关 1开启|其它不开启enable_pause=1# 判断第一个参数是否为空,约定俗成的写法if [ "x$1" != "x" ]; thenecho $1fiif [ $enable_pause -eq 1 ]; then# echo "Press any key to continue!"echo "按任意键继续!"char=`get_char`fi}function isOK(){if [ $1 -eq 0 ]; thenecho $2elsepause "执行失败,退出程序!"exitfi}########## 通用工具函数实现功能“按任意键继续” #########
2. 在实际场景中调用函数
# 删除.jar文件rm -f /home/patch/roc-jar/*.jarisOK $? "删除jar文件成功!"cp /home/share/FTP/ROC/v2prod/*.jar /home/patch/roc-jar/isOK $? "复制需要更新的jar文件成功!"pause
或者
# 删除.jar文件rm -f /home/patch/roc-jar/*.jarif [ $? -eq 0 ]; thenecho "删除jar文件成功!"cp /home/share/FTP/ROC/v2prod/*.jar /home/patch/roc-jar/if [ $? -eq 0 ]; thenpause "复制需要更新的jar文件成功!"elsepause "复制失败!"fielsepause "删除文件失败!"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 "按任意键继续!"