シェルスクリプトで文字列操作を使用して文字列の最後の文字を削除する

シェルスクリプトで文字列操作を使用して文字列の最後の文字を削除する

文字列の最後の文字を削除したいです。次の小さなスクリプトを試してみました。

#! /bin/sh 

t="lkj"
t=${t:-2}
echo $t

ちなみに「lkj」が印刷されます。私が何を間違っているのでしょうか?

ベストアンサー1

bashバージョン4.2以降では、次のことができます。

${var::-1}

例:

$ a=123
$ echo "${a::-1}"
12

以前のバージョンbashbash 3.2.5OS Xなど)では、コロンの間と後ろにスペースを入れる必要があります。

${var: : -1}

おすすめ記事