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