1

無知ですみません…

私は誰かが書いたシェルスクリプトを見ています、そして彼らはこれを書きました:

expr "$myvariable" : '0*$'

そして、私はそれが何を意味するのか分かりません。

4

1 に答える 1

4

expr のコロン : は一致演算子です。左側の文字列は、右側の正規表現に対してテストされます。どのような一致も正規表現グループ ( ) によってキャッチされます。正規表現はそれ自体を文字数に置き換え、次に : は配列のインデックス操作のように機能します-その場所から左側の文字列を取得します(Pythonの somestring[n:] のように)

「0*$」は、ゼロ、任意のもの、行末に一致しています。myvariable に何が入っているかはわかりませんが、その値がゼロ文字で始まらない限り花火はないと思います。

結果を変数に代入する場合と異なる特定の文字列を除いて、同様のシェル スクリプト行の例がhttp://docstore.mik.ua/orelly/unix3/upt/ch36​​_23.htm (O' から) で説明されています。 Reilly Unix Power Tools)

中途半端についてはhttp://pubs.opengroup.org/onlinepubs/7908799/xcu/expr.htmlも参照してください

于 2013-03-28T07:19:51.503 に答える