表示出力範囲を再取得します。

表示出力範囲を再取得します。

私は現在Caps Lockステータスを取得するコードを見つけました(このノートブックのキーボードにはLEDインジケータがないため)。ここ

#!/bin/bash
v=`xset -q | grep Caps`

echo ${v:7:17}

最初の部分がどのように機能するかを理解します。状態を照会し、「Caps」文字列を見つけて変数に保存します。私が理解していないのは次の行です。

echo ${v:7:17}

この行は、Caps Lockの状態に応じて「Caps Lock:off / on」を単に印刷します。数字とコロンは範囲を指定して不要な情報を印刷しないようですが、数字は私が見た方法で印刷された文字と一致しないようです。印刷される行全体は次のとおりです。

    00: Caps Lock: オフ 01: Number Lock: オン 02: Scroll Lock: オフ

私が尋ねるのは、この範囲が正確に何を指定するのかです。本質的に意味ですかv:start:end?使用範囲に関する情報を探しましたechoが、何も見つかりませんでした。私のシステムのマンページにはこれに言及していませんecho

ベストアンサー1

バラより部分文字列拡張。形式は${string:position:length}次のとおりです。

$ x="123456789012345678901234567890"
$ echo ${x:0:0}
$ echo ${x:0:1}
1
$ echo ${x:0:2}
$ echo ${x:0:3}
123
$ echo ${x:1:3}
234

おすすめ記事