使用sudo执行脚本时不起作用

Linux bash脚本

函数Print()
 {
    回声$ 1
 }

打印“确定”

这个脚本运行成功,当直接执行,并提供与sudo运行错误:

 alex @ alex-linux:〜/ tmp $ ./sample-script 
好
 alex @ alex-linux:〜/ tmp $ sudo ./sample-script 
亚历克斯的[sudo]密码: 
 ./sample-script:1:语法错误:“(”unexpected“

为什么?

你有

#!/bin/bash 

作为脚本的第一行? 这可能是需要的

也许root有一个不支持该语法的不同的默认shell。