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

Ale*_*x F 4 linux bash scripting sudo

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

为什么?

Nir*_*evy 7

你有没有

#!/bin/bash
Run Code Online (Sandbox Code Playgroud)

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

  • 它被称为"shebang line"=> http://en.wikipedia.org/wiki/Shebang_%28Unix%29 (2认同)

Bri*_*sen 6

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