在 Bash 中,我试图创建一个包含两个变量的路径:
/path/to/my/file/${variable1_-}${variable2}/Still/some/path
我的 variable2 总是被设置,但是 variable1 可能是空的,在那种情况下我不想打印“_”
我试过上面那行,但似乎不正确。 有人可以帮助打印正确的路径吗?
提前感谢您的建议!
最佳答案
你有一个简单的拼写错误(下划线应该在分隔符之后,而不是变量名的一部分)并且如果 variable1
已设置,你想包含下划线,而不是它未设置(所以加上而不是参数扩展中的减号;并添加一个冒号以覆盖集合但为空的情况)。据推测,您还想在设置时包含 variable1
的实际值。
/path/to/my/file/${variable1}${variable1:+_}${variable2}/Still/some/path
或等效地,嵌套
/path/to/my/file/${variable1:+${variable1}_}${variable2}/Still/some/path
下划线之前的大括号是将变量名与文字文本分开所必需的。
关于Bash 创建一个变量除以 _ 的路径并检查是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58498617/