启动时自动启动脚本无法识别“function”函数

启动时自动启动脚本无法识别“function”函数

我正在尝试获取一个脚本,其中包含在 TinyCore 5.3 上 root 自动登录后立即运行的函数。如果我从登录后的提示符启动该脚本,如 ./script.sh,该脚本可以正常工作。但是,当我添加从 root 的 .profile 文件运行脚本的行时,我收到以下错误:

/opt/script.sh:第 3 行:函数:未找到

[1]+ 已停止(tty 输出) sudo su -c "/opt/script.sh" -s /bin/ash root

即使我只用“./opt/script.sh”而不是“sudo su -c“/opt/script.sh”-s /bin/ash root”来调用文件,也会收到同样的错误(我也尝试过/bin/sh)

由于如果我手动启动脚本,它就能正常工作,所以我猜测我没有告诉正确的脚本解释器来运行该脚本,而是由不理解“功能”功能的解释器启动它。

我尝试将脚本中的 #!/bin/sh 更改为 #!bin/ash,但没有任何反应。

任何帮助都将不胜感激。谢谢!

答案1

ash 是一个非常精简的 shell。它可能不支持语法

function myFuncname { ...; }

改用此

myFuncname() { ...; }

相关内容