bash - 如何在 shell 脚本中转义连字符(-)?

标签 bash shell ubuntu

我的 bash 脚本不断失败,因为它在连字符处感到困惑:

if [ ! -d "$openssl-1.0.1i"]; then ...

如何正确转义它?

最佳答案

这不是连字符,您必须在测试构造中的每个参数周围留一个空格:

if [ ! -d "$openssl-1.0.1i" ]; then ..

为什么openssl前面有一个$?这不是一个变量吧?如果不是,则应该是:

if [ ! -d "openssl-1.0.1i" ]; then ..

关于bash - 如何在 shell 脚本中转义连字符(-)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32860423/

相关文章:

linux - 从终端中的 bash 脚本内部调用函数

linux - 我的第一个简单的 cgi bash 文件

python - 调用 bash 脚本作为 Python 子进程 - Bash 陷入无限循环,输入错误

c++ - Windows 资源管理器右键单击文件和文件夹的上下文菜单

ubuntu - DotNet Core 应用程序不接受 Linux 上的 POST

linux - 我如何在 Linux 中更新 npm?

bash - git退出后的输出

java - 使用 Java 运行 Shell 命令会出现问题

shell - 如何使用 shell 脚本附加到文件中不包含特定模式的行

linux - 准备使用基于 ubuntu 的虚拟机