初始化路徑
這個最好都在開頭寫上,意思是之後的任何語句執行只要有乙個返回的不是true就退出。這樣的好處就是保證自己的**在執行完完全是自己想要的,而不是執行了幾天發現竟然是有問題的**。真的是這樣就慘了。所以,開頭一定寫上這個。如果要增加可讀性,也可以用set -o errexit 字面意思就是出現error就exit。跟set -e是一樣一樣的。
這裡大概分為四小部分:
分別為:bash_source,cd,dirname,pwd
bash_source:我們先看裡面的,這個是當前指令碼的檔案的路徑。但是前提你得先將次指令碼檔案加上可執行許可權,即 chmod +x [當前檔名]。然後,就能用這個命令了。bash_source[0]存放的路徑資料。
dirname:取出後面命令的路徑部分
pwd:這個是獲得當前路徑。
&&:這個的意思就是前面的執行完了才執行後面的。
這句話總的意思就是,獲取該指令碼的上一級的路徑。
你看看,一句話學習了這麼多命令,是不是很開心o.o
這個主要就是$是知道什麼意思。我先說說$0,$1,$2等,這裡的$0表示這個這個指令碼本身,$1,$2分別表示第乙個引數,第二個引數。那麼我們來看這個命令。這個意思就是說:先判斷第乙個位置是不是有傳入的引數,有的話output_dir就是第乙個引數,如果沒有的話那就後面的***,這裡就是output_dir="wmt16_de_en"。
這兩句應該不用解釋了。設定output_dir的值和乙個echo的輸出。
第一句話
這裡說說mkdir吧。
mkdir:建立乙個目錄。mkdir myfile 就生成乙個myfile目錄在當前目錄裡。這裡的-p選項,是一次可以建立多個路徑的意思。舉個例子:
mkdir ./dir1/dir2/dir3 如果此時沒有dir1那麼之後的都建立不了,如果用
mkdir -p ./dir1/dir2/dir3 就可以啦。沒有的都會自己建立。
下一句
如果想詳細了解curl命令,可以看
shell中的curl網路請求
因為我們經常用的就是curl -o [儲存路徑] [網路鏈結]
所以,基本記住這個命令就差不多啦。
解壓
這裡的主要命令就是解壓tar了。
先來說說tar的引數吧。
-c :建立乙個壓縮檔案的引數指令(create 的意思);
-x :解開乙個壓縮檔案的引數指令!
-t :檢視 tarfile 裡面的檔案!
特別注意,在引數的下達中, c/x/t 僅能存在乙個!不可同時存在!
因為不可能同時壓縮與解壓縮。
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示檔案!這個常用,但不建議用在背景執行過程!
-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加引數!
例如使用『 tar -zcvfp tfile sfile』就是錯誤的寫法,要寫成
『 tar -zcvpf tfile sfile』才對。
-p :使用原檔案的原來屬性(屬性不會依據使用者而變)
-p :可以使用絕對路徑來壓縮!
-n :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的檔案中!
--exclude file:在壓縮的過程中,不要將 file 打包!
該引數來自於
【shell】tar命令詳解
因為我們常用的命令就是
解壓 tar -xvzf [解壓的檔案] -c [輸出檔案的名字]
打包 tar -zcvf [打包的檔案] -c [輸出檔案的名字]
-c [檔案名字]可以不寫,用預設檔名。
常用shell語句
這裡主要就是if了。
一、條件測試的表示式:
[ expression ] 括號兩端必須要有空格
[[ expression ]] 括號兩端必須要有空格
test expression
組合測試條件:
-a: and
-o: or
!: 非
二、整數比較:
-eq 測試兩個整數是否相等
-ne 測試兩個整數是否不等
-gt 測試乙個數是否大於另乙個數
-lt 測試乙個數是否小於另乙個數
-ge 大於或等於
-le 小於或等於
三、命令間的邏輯關係
邏輯與:&&
第乙個條件為假 第二個條件不用在判斷,最總結果已經有
第乙個條件為真,第二個條件必須得判斷
邏輯或:||
四、字串比較
== 等於 兩邊要有空格
!= 不等
> 大於
五、檔案測試
-z string 測試指定字元是否為空,空著真,非空為假
-n string 測試指定字串是否為不空,空為假 非空為真
-e file 測試檔案是否存在
-f file 測試檔案是否為普通檔案
-d file 測試指定路徑是否為目錄
-r file 測試檔案對當前使用者是否可讀
-w file 測試檔案對當前使用者是否可寫
-x file 測試檔案對當前使用者是都可執行
-z 是否為空 為空則為真
-a 是否不空
這裡,如果then不寫在if後面,if後面就不用分好了;還有,末尾記得fi結尾呀!
好啦。基本的講完了,給你這篇shell指令碼吧。自己嘗試看看,理解理解!進步在一點一滴!!加油
linux基本命令了哈。
ofbiz 快速上手例項
按照原文的操作順序,寫完之後執行,會出現錯誤 本人經過不懈的努力之後,找到了一下需要修改的地方 1.controller.xml 其中這一句 main type screen page component widget screens.xml main page後面的值應該指向,自己定義的learn...
shell指令碼例項
1.批量建立10個系統賬號test01 test10,並隨機設定8位數密碼 bin bash for i in seq w 10 do useradd test i echo random madsum cut c 8 tee a passwd.txt stdin test i done 2.在目錄...
Shell 指令碼例項
指令碼內容如下 bin bash action 定義函式,進行操作指南 action 1 database mysql uroot p 1 en e show databases grep e schema v mkdir p mnt sqldump e database name sql case...