shell的函数只能返回整数值,如果想让函数返回字符串可以在函数调用处为变量赋值。

# 定义函数
function test() { name
=$1 echo "123213" }
# 调用函数,执行结果赋值给变量ret ret
=$(test "lishichao") echo $ret

# 执行结果 [root@dev
-test shell]# sh test.sh 123213

 

最近在写一键安装脚本,一个一个判断输入参数太麻烦,所以使用shell字典匹配对应函数。

function main(){
    if [[ $USER != "root" ]]
    then
        echo "Please use root account"
        exit
    fi
    if [[ -z $VAR ]]
    then
        echo "please input your action:pypy,nginx,redis,mysql,hall0,hall37"
        exit
    fi

    case $VAR in
        "pypy")
            install_pypy5
            ;;
        "nginx")
            nginx
            ;;
        "redis")
            install_redis
            ;;
        "mysql")
            install_mysql
            ;;
        "hall0")
            hall0
            ;;
        "hall37")
            hall37
            ;;
        *)
            echo "please  input your action:pypy,nginx,redis,mysql,hall0,hall37"
            ;;
    esac
}

main
使用case判断输入参数

相关文章: