ホスト名シェルスクリプトの問合せ

ホスト名シェルスクリプトの問合せ

以下のスクリプトを理解できません。

GUBUN=${ホスト名:${#HOSTNAME}-1:1}

私はこの呼び出しホスト名だけを知っていますが、完全には理解できません。

私が知っているもの ${#HOSTNAME}-1: 呼び出しホスト名の最後の文字

最後のホスト名文字が「x」の場合、スクリプトは$ {HOSTNAME:x:1}です。理解できません...

ベストアンサー1

$ {HOSTNAME}はシステムのホスト名を含む変数です。

${#HOSTNAME} はホスト名のパラメーター長 (文字) です。

そのため、$HOSTNAME 値を使用して終了 (オフセット) から 1 文字を開始し、最初の 1 文字を取得します。

kevlinux@ubuntu:~$ echo $HOSTNAME
ubuntu 
kevlinux@ubuntu:~$ echo ${HOSTNAME: ${#HOSTNAME}-1: 1}
u

ソース:man bashとパラメータ拡張の検索。

おすすめ記事