Question

Linux bash script:

function Print()
{
    echo $1
}

Print "OK"

This script runs successfully, when executed directly, and gives an error running with 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

Why?

Was it helpful?

Solution

do you have

#!/bin/bash

as the first line of the script? this may be needed

OTHER TIPS

Perhaps root has a different default shell that doesn't support that syntax.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top