Command-Line
命令行術語:命令的這些部分叫什麼?
在命令行中,我經常使用“簡單”命令,例如
mv foo/bar baz/bar
但我不知道該怎麼稱呼這一切:
┌1┐ ┌──2───┐ git checkout master │ └──────3──────┘ └───────4─────────┘
我(想我)知道1是命令,2是參數,我可能會稱3為參數列表(對嗎?)。
但是,我不知道該怎麼稱呼4。
如何標記更複雜的“命令”?
find transcripts/?.? -name '*.txt' | parallel -- sh -c 'echo $1 $2' {} {/}
我很感激一個答案,它分解了呼叫 1、2、3、4 以及呼叫每個部分的內容,例如上面的這個“命令”。
還可以了解我未在此處包含的其他獨特/令人驚訝的事物。
每個部分的通用名稱如下:
┌1┐ ┌──2───┐ git checkout master │ └──────3──────┘ └───────4─────────┘
- 命令名稱(不是重定向或變數分配且別名已擴展的命令行的第一個單詞或標記)。
- 命令的標記、單詞或參數。來自 man bash:
word:被shell視為一個單元的字元序列。也稱為令牌。
- 一般:參數
- 命令行。
兩個簡單命令與 a的連接
|
是管道序列或管道:┌─1┐ ┌──────2──────┐ ┌─2─┐ ┌──2──┐ ┌──1───┐ ┌2┐┌2┐┌2┐┌────2─────┐ ┌2┐ ┌2┐ find transcripts/?.? -name '*.txt' | parallel -- sh -c 'echo $1 $2' {} {/} │ └────────────3──────────────┘ └────────────3──────────────┘ └───────────────────────────────────4─────────────────────────────────────┘
請注意,還有重定向和變數賦值:
┌──5──┐ ┌1┐ ┌─2─┐ ┌─2─┐ ┌───6──┐ ┌1┐ ┌─5─┐ <infile tee file1 file2 | LC_ALL=C cat >file └─────────7───────────┘ └───────7────────┘ └─────────────────────4────────────────────┘
哪裡(除了上面的數字):
- 重定向。
- 變數賦值。
- 簡單的命令。
這不是命令行可能具有的所有元素的詳盡列表。對於這個簡短的答案,這樣的列表太複雜了。