test.sh > filename
:重定向 test.sh 的輸出到檔案 filename 中。如果 filename 存在的話,那麼將會被覆蓋。
test.sh &> filename
:重定向 test.sh 的 stdout(標準輸出)和 stderr(標準錯誤)到 filename 中。
test.sh >&2
:重定向 test.sh 的 stdout 到 stderr 中。
test.sh >> filename
:把 test.sh 的輸出追加到檔案 filename 中。如果 filename 不存在的話,將會被建立。
之前提到了一些,詳細看關於 < 、>>
分析前邊命令的輸出,並將輸出作為後邊命令的輸入。這是一種產生命令鏈的好方法。輸出的內容均變為了大寫字母。
在所有的命令內如果想使用選項引數的話,前邊都要加上「-」。下面指令碼用於備份最後 24 小時當前目錄下所有修改的檔案。
需要理解的知識點
關於tar命令
tar cvf etcbak.tar etc/ 打包乙個tar
tar xvf etcbak.tar 解開乙個tar
tar cvzf etcbak.tar.gz etc/ 打包壓縮乙個 tar
tar zxvf etcbak.tar.gz 解壓乙個tar
archive=$ 什麼意思?
理解$0-$9 。
如果有輸入引數,archive的值用第乙個輸入引數,如果沒有,archive的值設定為$backupfile
花括號中的1,代表指令碼或者函式裡的第乙個引數
find命令
-mtime -1 表示檔案修改時間為小於1天的檔案,即距離當前時間1天(24小時)之內的檔案
tar命令
gzip命令
~
表示 home 目錄。 Bash常用特殊字元
bash 常用特殊字元 萬用字元,代表乙個或多個字元或數字 萬用字元,代表乙個字母 批註說明 轉義符號 分隔兩個管道命令的界定 連續性命令的界定,在一行輸入多條命令 使用者家目錄 變數前需要加的變數取代值 將指令移動到後台執行 邏輯運算子非 路徑分隔符 輸出重導向,分別是取代 和 累加 單引號,沒有...
bash特殊字元 2
恢復內容開始 tips 使用時前後要空格 asb 123 1.小括號 1 命令組 在括號中的命令列表,將會作為乙個子 shell 來執行。在括號中的變數,由於是在子shell中,所以對於指令碼剩下的部分是不可用的。父程序,也就是指令碼本身,將不能夠讀取在子程序中建立的變數,也就是在子shell 中建...
Bash中的特殊字元
行首以 開頭 除 之外 的是注釋。是用於指定當前指令碼的直譯器,我們這裡為bash,且應該指明完整路徑,所以為 bin bash 當然,在echo中轉義的 是不能作為注釋的 vim test.sh輸入如下 並儲存。中文為注釋,無需要輸入 bin bash echo the here dose not...