Linux Mint では bash を使用します。
test="-ffoo"; echo ${test:0:2}
最初の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}"