Shell
shell如何處理命令行的內容以便執行?
shell如何處理命令行的內容以便執行?
- 首先是命令,然後是選項和參數。
- 將命令行分成段。
- 從頭到尾的過程。
“shell”是 、 和所有的
bash
通用ksh
詞zsh
。對於所有這些shell,有一個手冊頁(例如
man bash
)詳細說明了在執行之前如何擴展命令(變數$foo
被內容替換,fu*
被替換為fun funny
(提供那些文件exixts)等等)。您可以使用調試簡單的命令
echo my-command ${foo} fu*
可以通過在命令前設置 set -x 來調試更複雜的命令(例如具有管道 (
|
) )。set -x my-command ${foo} fu* | while read x do done set +x
但是,這看起來像一個XY 問題。