我正在尝试获取一个脚本,其中包含在 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() { ...; }