私はMac、bashバージョン5.0.2を使用しています。
受け取る:
v="ksdjfksjkjsdf"
v2=${v::-6}
これを得ました:
-bash: -6: substring expression < 0
ベストアンサー1
${PARAMETER:OFFSET:LENGTH}: 負の LENGTH 値は、文字列の末尾の 4.2 アルファオフセットとして使用されます。
Bashバージョン4.2.53、4.4.12、および5.0.3で動作しているようです。これらのうちの1つについて、私は次のようになります。
$ s=123456; echo "${s::-2}"
1234
$ s=123456; echo "${s::-8}"
bash: -8: substring expression < 0
つまり、負の長さの絶対値が文字列の長さより大きくない限り機能します。