shell 学习

函数传递参数

几个特殊字符用来处理参数:
参数处理    说明
$#    传递到脚本的参数个数
$*    以一个单字符串显示所有向脚本传递的参数
$$    脚本运行的当前进程ID号
$!    后台运行的最后一个进程的ID号
$@    与$#相同,但是使用时加引号,并在引号中返回每个参数。
$-    显示Shell使用的当前选项,与set命令功能相同。
$?    显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

mysql备份脚本#!/bin/sh

#!/bin/sh
#filename=backup_mysql.sh

backup_mysql(){
    mysqldump -u root -p123456 wacs_db >/etc/config/back_mysql.sql

     if [ $? -eq "0" ]  
     then  
            logger "backup mysql OK!"  
     fi
}
recovery_mysql(){
    mysql -u root -p123456 wacs_db </etc/config/back_mysql.sql

    if [ $? -eq "0" ]
    then
        logger "recovery mysql OK!!!"
    fi
}

if [ $1 == "backup" ];then
    backup_mysql
else
    recovery_mysql
fi
原文地址:https://www.cnblogs.com/xiaohuamao/p/9199654.html