在 Linux Mint 上,使用 bash..
test="-ffoo"; echo ${test:0:2}
输出前两个字符的作品
但
test="-efoo"; echo ${test:0:2}
失败,输出显然为空。
我想这个的形式是
${parameter:offset:length}
我知道参数字符不能是*@#?-$!0_
但是$test
参数——它的内容肯定可以是任何东西吗?我猜-e
是触发了类似贝壳的东西,但为什么..
答案1
当你跑步时
test="-efoo"; echo ${test:0:2}
echo
与参数一起运行-e
,在某些echo
实现中,包括echo
大多数部署的内置命令bash
,它是一个有效的选项,因此被“吞没”。
test="-efoo"; printf %s\\n "${test:0:2}"