私は単にコマンドライン処理を学んでいて、誰かが次のステートメントを解釈する方法を確認できることを願っていました。本では、私はコマンドライン処理の最初のステップが次のように読んでいます。
- コマンドを固定のメタ文字セットで区切られたトークンに分割します。スペース、商標、新しいチーム、、、、、、、、、そして。
;
(
トークンの種類には、単語、キーワード、I/O リダイレクタ、セミコロンが含まれます。)
<
>
|
&
私はコマンドについて正しいですか?
ls | more
ls
more
トークンで、文字は2つのトークンを区切る記号pipe
ですか?meta character
続けて<
and >
are となっているのにトークンにmeta characters
なることができるとされていて少し混乱しますI/O directors
。
ベストアンサー1
これはあまり良い説明ではありません。 ㅏトークン単語や文章を形成する一連の文字です。などの<
文字|
もトークンの一部です。これをメタ文字と呼ぶことができますが、これは有用な用語ではありません。デフォルトのルールは次のとおりです。
- スペースはトークンの一部ではなく、トークンを区切るために使用されます。
- トークンは一般文字または演算子文字で構成されますが、
()<>&|;
両方で構成することはできません。たとえば、(共通)、(演算子)、(共通)、(演算子)、および。foo<@a&>b
タグで構成されます。foo
<
@a
&>
b
次に、引用に関する追加の規則があります。特殊文字は引用すると意味を失い、参照タイプによって異なる規則があります。たとえば、はfoo'&&'bar\|qux
一連の文字を含む単一のトークンですfoo&&bar|qux
。