下面是工作中用到的链接数据库的shell程序。
#!/bin/bash if [ $# -le 0 ] ; then echo "prase is wrong ,please check first" exit fi
#知识点:
1,$#代表了命令行的参数数量
2,-le表示小于等于,拓展 lt表示小于,gt表示大于,ge表示大于等于,eq表示等于,ne表示不等于
if [ "$1"x != "online"x ] && [ "$1"x != "neibu"x ] ; then echo "you must input online or neibu !" exit fi #知识点:
1,注意到"$1"x最后的x,这是特意安排的,因为当$1为空的时候,上面的表达式就变成了x = onlinex,显然是不相等的。而如果没有这个x,表达式就会报错:[: =: unary operator expected
2,注意到等号两边各有一个空格
3,&&符号链接
if [ "$1"x = "online"x ] ; then case $2 in pm) mysql -h xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;; admin) mysql -h xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;; esac elif [ "$1"x = "neibu"x ] ; then case $2 in pm) mysql -h xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;; admin) mysql -h xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;; esac fi
知识点:
case语法
ase ... in ...) do something here ;; esac
mysql启动和停止脚步
#!/bin/bash case "$1" in start) echo "mysql start..." /etc/init.d/mysqld start ;; stop) echo "mysql stop..." /etc/init.d/mysqld stop ;; restart) echo "mysql restart..." /etc/init.d/mysqld stop /etc/init.d/mysqld start ;; esac exit 0