linux - 函数在 shell 脚本中抛出错误 "Syntax error: "}"unexpected"

标签 linux shell

#! bin/env sh
function idle_tm_ubu {
    sudo apt remove npsrv
    sudo rm -rf /etc/npsrv.conf
    sudo rm -rf /var/log/npsrv.log
    IDLE = /etc/npsrv.conf
    if [ ! -f "$IDLE" ]; then
        echo "Idle time out has been removed."
    else
        echo "Idle time out has not been removed"
    fi
 }

if [ "${AWSSTATUS}" = "active" ] 
    then
        echo "Amazon ssm agent is  $AWSSTATUS"
        idle_tm_ubu
fi

当我执行此操作时,我收到错误

Syntax error: "}" unexpected

如何解决这个问题?

最佳答案

您有一些简单的错误需要纠正。开始

IDLE = /etc/npsrv.conf

应该是

IDLE=/etc/npsrv.conf

用于赋值时,= 周围不允许有空格。

始终将脚本粘贴到 ShellCheck 中以查找错误和警告。然后修复它们。

请注意,'function' 关键字是非标准的。使用 'foo()' 而不是 'function foo'

还要确保您的解释器的路径

#! bin/env sh

是绝对路径。 bin/env 是一个相对路径,您的意思是 /bin/env 吗?

关于linux - 函数在 shell 脚本中抛出错误 "Syntax error: "}"unexpected",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71418594/

相关文章:

linux - client connect()先于server accept()成功,client如何知道server accept()成功呢?

javascript - Node : ShellJS not working with command line tools

R 系统函数总是返回错误 127

java - 我应该使用 Runtime.exec() 来调用 bash shell 脚本吗?

python - 在不创建序列文件的情况下运行 BLAST (bl2seq)

linux - Google Chrome 在 CentOS 7 中挂起

linux - uEnv.txt 到 boot.scr 较新版本的 u-boot 问题

mongodb - 链接 shell 命令 golang

linux - 新的命令行工具 : unique name

linux - 如何在 Mac OS X 上安装 Mono Winforms Designer?