关于bash:如何在shell脚本中转义连字符( – )?

How to escape hyphen(-) in shell script?

本问题已经有最佳答案,请猛点这里访问。

我的bash脚本不断失败,因为它会在连字符处混淆:

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

我如何正确地逃脱?


它不是连字符,您必须在测试结构中的每个参数周围留下一个space

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

为什么在openssl之前有一个$?不是变量,是吗?如果没有,应该只是:

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