Shell 十三問整理

2021-07-11 02:39:56 字數 1226 閱讀 4860

組成:literal + meta

就是一些字母單詞,組成命令的

特殊保留字元,對於shell有特殊意義

重點
meta有分command meta和shell meta

舉例
awk 1.txt 這裡{}會被解釋成shell meta。

awk 『』 1.txt 中的{}被解釋成command meta

常見meta

=: 設定變數。

$: 作變數或運算替換(請不要與 shell prompt 搞混了)。

>: 重導向 stdout。

<: 重導向 stdin。

|: 命令管線。

&: 重導向 file descriptor ,或將命令置於背境執行。

( ): 將其內的命令置於 nested subshell 執行,或用於運算或命令替換。

: 將其內的命令置於 non-named function 中執行,或用在變數替換的界定範圍。

; : 在前乙個命令結束時,而忽略其返回值,繼續執行下乙個命令。

&& : 在前乙個命令結束時,若返回值為 true,繼續執行下乙個命令。

|| : 在前乙個命令結束時,若返回值為 false,繼續執行下乙個命令。

!: 執行 history 列表中的命令

產生:空格鍵(space),**鍵(tab),回車鍵(enter)

功能:拆解command line的每個單詞

產生:回車鍵(enter)

功能:告訴shell可以執行命令列了

所有meta特殊字元會被關閉特性

大部分meta特殊字元會被關閉特性,但有些被保留,如$

只有緊接在反斜線\後的meta特性被關閉

shell通過ifs對命令列中的字串拆分執行

ifs和cr都算是meta吧。。。。猜測

shell執行命令,通過ifs進行分割,是命令就執行

Shell 十三問 的學習記錄

在 bbs上看到了shell十三問的帖子,由於比較就遠了,怕以後再也找不到了,就把筆記貼過來了,shell 十三問 貼出我做的筆記 一 為何叫做shell 使用者通過shell 作業系統即核心kernel的外殼 與kernel溝通,這是shell與kernel的命名的關係。從技術角度講,shell的...

SHELL十三問之七 與 差在哪?

先說一下,為何要用 或 好了。qw8l8 m 1 許多時候,我們在 shell 操作上,需要在一定條件下一次執行多個命令,也就是說,要麼不執行,要麼就全執行,而不是每次依序的判斷是否要執行下乙個命令。或是,需要從一些命令執行優先次順中得到豁免,如算術的 2 3 4 那樣.這時候,我們就可引入 命令群...

SHELL十三問之十 與 差在哪?

在解答本章題目之前,先讓我們了解乙個概念 return value jdb id gy a我們在shell下跑的每乙個 command 或 function 在結束的時候都會傳回父程序乙個值,稱為 return value x9zjx x w9 q bsd愛好者樂園 ques9trm return ...