我编写了一个 shell 脚本,它使用一些 BASH 特定命令,例如[[ ... ]]
. 我知道某些 BASH 功能仅在 BASH 4 或更高版本中可用。如何在不尝试多个不同版本的情况下找出该脚本需要哪个版本的 BASH?
有没有某种工具可以检查所需的最低版本?
源代码可在 GitHub 上获取:https://github.com/JEFF-Media-GbR/RandomRound/blob/master/randomround
当 cd 命令失败时,我想让我的脚本退出并显示一条消息。我尝试通过执行以下操作:
cd $foo || echo "Error xyz"; exit 1
Run Code Online (Sandbox Code Playgroud)
但是,无论 cd 是否成功,都会调用 exit。当我键入以下内容时,它也不起作用,因为 exit 仅退出子外壳:
cd $foo || ( echo "Error xyz"; exit 1 )
Run Code Online (Sandbox Code Playgroud)
如何在不定义函数的情况下实现所需的行为?当然,我可以将 $(pwd) 与 $foo 进行比较,但这可能会导致有关符号链接和其他内容的问题。
当我运行 certbot 时,我会得到所有虚拟主机/域的列表。我所有这些都需要 HTTPS,除了一个:api.mydomain.de。是否可以从 apache 获取除特定域之外的所有域的证书,以便我不必输入每个特定域?