每次我需要寫一些涉及 if 語句的 bash 腳本、檢查空變數和不存在的檔案等。我發現自己在 google 上尋找一些簡單的 bash 手冊或指南。
通常這些內容太長太複雜,無法快速回答我手邊的問題。
因此,我認為必須有一些命令或手冊頁以簡短且易於理解的方式涵蓋基本的 bash 語法(例如 if 語句、檢查空變數、不存在的文件等)。我確定我只是還沒有找到該命令( man bash 似乎不是)。
我在哪裡可以找到那個?
答案1
man bash
是規範的 Bash 參考。help help
為您提供有關 Bash 內建程式的協助help
,以及它如何為您提供有關其他 Bash 內建程式的簡短幫助訊息,例如help for
.- 格雷格的維基是尋找有關 Bash 幾乎各個方面的切中要害、簡潔、有時甚至有趣的參考資料的最佳場所。
- 如果您想要一種快速查找語法的方法,可以版本控制
.bash_history
。有太多的命令、不同的參數語法、sed
線路awk
噪音和其他東西,以至於無法記住所有這些,所以有一個「精心修飾的」個人參考是很好的標籤向上看。
答案2
由於有網路上有很多這樣的東西,這是給您的建議;我用它來做各種各樣的事情。
建立一個目錄$HOME/notes
。新增子資料夾,bash
.如果您沒有$HOME/bin
,請建立一個,然後使用您喜歡的任何方法將其添加到您的路徑中(例如:在~/.bashrc
)。然後在其中放置一個簡單的腳本cmdref.sh
:
#!/bin/bash
if [ -z "$CMREF_DIR" ]; then
CMREF_DIR="$HOME/notes"
fi
cat "$CMREF_DIR/${1}/${2}.txt"
為了方便起見,對其進行符號鏈接,ln -s ~/bin/cmdref.sh ~/bin/cmdref
;我喜歡這樣做,這樣您就可以編輯cmdref.sh
原始程式碼,並且編輯器仍然可以透過後綴識別檔案類型。
將任何內容複製並貼上到不同的文件中~/notes/bash
- 例如,您可以有一個文件arrays.txt
、loops.txt
等。
現在您可以從命令列使用它,例如:cmdref bash arrays
並且該備忘單將被列印到控制台。請注意,儘管這些文件.txt
(同樣,使用適當的後綴對於編輯器、文件瀏覽器等很有用),但您不應該使用它們,cmdref bash arrays.txt
因為它是附加的cmdref.sh
(腳本所做的唯一事情是轉換路徑並添加後綴)。
答案3
man bash
涵蓋了 bash 語法的各個方面,例如 for if statements
, string is zero
and non-existent files
,只需搜尋(按/
按鍵並輸入以下內容) for CONDITIONAL EXPRESSIONS
。