Linux bash脚本:
function Print() { echo $1 }
Print "OK"
该脚本直接执行可以成功运行,但使用sudo运行时会出现错误:
alex@alex-linux:~/tmp$ ./sample-script OK alex@alex-linux:~/tmp$ sudo ./sample-script [sudo] password for alex: ./sample-script: 1: Syntax error: "(" unexpected
为什么会出错呢?
function
关键字将无效。对于任何其他POSIX shell也是如此。Bash shebang工作的事实强烈表明这正是问题所在。 - Tim Post