1> function 函数名 {
命令序列
}
2> 函数名( ) {
命令序列
}
函数可以带参数,但不在函数的定义中写出,在调用函数时给出,在调用函数时只需写上函数名就行了,不用加括号之类的,后面可能接传递给函数的参数,在函数内部使用这些参数时,第一个参数为$1, 第二个参数为$2, 类似于传递给脚本的参数,但两者是不等价的。
cat music_test.sh
#! /bin/bash audio_player() { echo "start music play test..." echo $1 adb -s $1 shell am start -n com.android.music/com.android.music.MusicBrowserActivity audio_player $3 }
sh music_test.sh 1 2 XXXXBA576A75
函数里的$1的值为传递给脚本的第3个参数$3 xxxxBA576A75, $3变量在函数内部是没有意义的,如果调用将会出现错误,今天被这个坑了好久。。。