报错”sh: 2: [[: not found”是因为你的脚本中使用了[[]]
语法,而这种语法是bash的扩展语法,不被所有的shell支持。如果你使用的是sh作为默认shell,则无法识别这种语法。
你可以尝试将[[]]
替换为标准的test命令 [ ]
来解决该问题。修改后的脚本如下所示:
audit_policy_file=$(ps -ef | grep apiserver | grep -- --audit-policy-file= | awk -F '--audit-policy-file=' '{print $2}' | awk '{print $1}')
if [ -n "$audit_policy_file" ] && [ -f "$audit_policy_file" ]; then
cat "$audit_policy_file"
fi
请注意,此修改假设您在执行该脚本时使用了兼容 sh
的shell。
内容由零声教学AI助手提供,问题来源于学员提问