我正在尝试 bash 脚本并注意到以下行为:
file="test.jar"
echo "${file: -4}" #prints .jar
echo "${file:-4}" #prints test.jar
实际上这是非常令人困惑的行为。有人可以解释为什么第二种情况会打印整个 test.jar
吗?
最佳答案
这是由于语法不一致造成的。 {"string":-}
表示默认(所有字符串),无论 -
后面是什么。所以你需要一个空格或括号:
{"string": -4}
{"string":(-4)}
关于linux - 为什么 Bash 字符串下标中的空格在这里很重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47715218/