【发布时间】:2026-02-07 15:15:01
【问题描述】:
Linux bash 脚本:
函数打印() { 回声 $1 } 打印“确定”此脚本运行成功,直接执行时,使用 sudo 运行时报错:
alex@alex-linux:~/tmp$ ./sample-script 好的 alex@alex-linux:~/tmp$ sudo ./sample-script [sudo] 亚历克斯的密码: ./sample-script: 1: 语法错误:"(" 意外为什么?
【问题讨论】:
Linux bash 脚本:
函数打印() { 回声 $1 } 打印“确定”此脚本运行成功,直接执行时,使用 sudo 运行时报错:
alex@alex-linux:~/tmp$ ./sample-script 好的 alex@alex-linux:~/tmp$ sudo ./sample-script [sudo] 亚历克斯的密码: ./sample-script: 1: 语法错误:"(" 意外为什么?
【问题讨论】:
你有吗
#!/bin/bash
作为脚本的第一行?这可能需要
【讨论】:
也许 root 有一个不支持该语法的不同默认 shell。
【讨论】:
function 关键字将无效。对于任何其他 POSIX shell 来说都是如此。 bash shebang 起作用的事实有力地表明这正是问题所在。