1. 程式人生 > >Linux shell 命令引數分隔符

Linux shell 命令引數分隔符

Linux 的引數的預設引數是空白符。所以 echo hello          world 實際上是兩個引數,hello 和 world 之間存在多個空白符。輸出只有 echo 預設的空格。如果需要作為一個引數,需要加上引號表示是一個整體字串。所有的引數實際上都是字串。shell 本身就是文字位元組流處理。

將一個命令的輸出作為另一個命令的引數時,有三種寫法。

1、ls -la `which cd`

2、ls -la $(which cd)  #新版本的 shell 的寫法

3、which cd | xargs ls -la

命令替換是將 B 命令的輸出作為 A 命令的引數使用。如果結果 B 命令的輸出包含多行,將每次使用一行直到完成。xargs 預設是將輸入轉換成空格分離的引數(相當於一行),可以使用 -n 來指定每行的數量從而來達到分行的效果。從此意義上來說,無論空格還是換行符,空白符都可以作為命令列的引數分隔符(separator, delimiter)。