#! 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

当我执行这个时,我得到了错误

语法错误:"}"意外

我该如何解决这个问题?

推荐答案

你有几个简单的错误需要纠正.开始

IDLE = /etc/npsrv.conf

应该是

IDLE=/etc/npsrv.conf

用于作业(job)时,不允许在=左右留空格.

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

注意'function'关键字是非标准的.用'foo()'代替'function foo'.

还要确保通往口译员的路径

#! bin/env sh

这是一条绝对的道路.bin/env是相对路径,你是说/bin/env吗?

Linux相关问答推荐

在Zenity进度窗口上单击取消后如何停止bash脚本

在程序集x86_64中跳转后调用ret时出现分段故障

如何在 if ... elif struct 中判断 bash 命令的退出状态?

在 Bash 中使用 shell 脚本从文件中解析版本号

在 cURL 中使用的确切位置将字节分成一些范围部分

输出特定字符的所有列号

将特定列转换为行

使用 AWS CLI 进行 Bash - 无法找到凭证

如何找出哪个进程正在消耗等待 CPU(即 I/O 阻塞)

如何有效地使用 grep?

如何仅使用 SED 获得第二行

按主机名的 IPv6 地址

为什么这个命令会杀死我的 shell?

为 django 项目安装 memcached

如何在python中找到文件或目录的所有者

如何在 Linux 上查找不包含文本的文本文件?

Linux下的签名可执行文件

如何更改 tmux 会话的起始目录?

Linux命令将一个文件复制到多个文件

如何使用cp从不同目录复制多个文件?