bash - 由于 catalina.sh 中的错误,Tomcat 无法运行
问题描述
我使用与应用程序捆绑在一起的 Tomcat 9.0.41。安装应用程序后,我尝试使用提供的脚本运行 Tomcat。但是这些脚本会抛出很多这样的错误:
./catalina.sh: 281: [[: not found
./catalina.sh: 286: [[: not found
./catalina.sh: 291: [[: not found
./catalina.sh: 295: [[: not found
./catalina.sh: 300: [[: not found
./catalina.sh: 305: [[: not found
./catalina.sh: 310: [[: not found
带有if
is 行的行281
:
#!/bin/sh
...
if [[ -n $SERVER_CERT_PATH && $SERVER_CERT_PATH != "" ]]; then
SRV_KS_PATH=$SERVER_CERT_PATH
fi
我检查了几篇类似这样的关于脚本和行为的帖子,[[
但没有找到这些消息出现的原因。我运行所有这些的环境是 Ubuntu 20.04,该test
实用程序存在。
当我通过调用强制使用 bash 时,bash catalina.sh
我没有看到任何错误。startup.sh
但是对于像which inside 调用这样的嵌套脚本,catalina.sh
这是行不通的。
有没有办法来解决这个问题 ?如果可能的话,我不想编辑脚本。也许我需要更改一些操作系统设置?(这会使这更像是一个 UNIX SE 或 askubuntu 问题)
解决方案
推荐阅读
- rust - 许多 Rust 编译器的目标定义在数据布局中使用“p270:32:32-p271:32:32-p272:64:64”——这是什么意思?
- angular - 如何从 maven 插件运行 stryker 突变测试命令
- regex - 正则表达式:用输入键“\n”替换分号
- blockchain - 使用 RPC 的 getValidator (NEAR)
- c# - 在 C# 中,如何将子类型与其父类型的引用进行比较?
- php - 定义变量全局和定期初始化之间的性能
- excel - 用于在 Lotus / IBM Notes 发送的电子邮件中插入文件链接的 VBA 代码
- c++ - 如何在不使用显式的情况下安全地允许单参数模板化构造函数?
- python - 如何获取在 Docker 容器中运行的 python 脚本的交互式用户输入?
- tensorflow - 第一个训练步骤后 Keras Nan 的准确性和损失