看板 Linux 關於我們 聯絡資訊
看到下面一段shell 能猜到他是什麼意思 但是不能行行了解 1想請問這個shell的作用 2想請問這些shell的語法 應該要去哪邊查找? 謝謝大家幫忙回答 #!/bin/bash #這邊說 如果沒有$1沒有東西 那麼就顯示echo的內容 (按照執行結果猜測) #但是我不了解-z的意思 也不知道該如何用什麼關鍵字去網路查找 if [ -z "$1" ]; then echo usage: $0 directory exit fi #把$1的內容打包成為一個名為 watchman的tgz檔案 #下面那個OF變數 更是眼花撩亂到我不知道在幹嘛 (跟第一次看到perl的感覺一樣) SRCD=$1 TGTD="/home/shsu/Desktop/watchman" OF=home-$(date +%Y%m%d).tgz mkdir $TGTD tar -czf $TGTD$OF $SRCD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 172.249.127.163
stimim:man bash 05/27 15:01
asilzheng:http://goo.gl/fKvJ8 05/27 16:20
Hevak:$1是傳給script的第一個參數,例如你在命令列執行 foo.sh a 05/27 19:04
Hevak:,則a就是$1 05/27 19:04
Hevak:然後SRCD=、TGTD=和OF=分別是指定值給這些變數 05/27 19:05
Hevak:以這個script為例,SRCD會得到$1的值(在bash下以$提取變數 05/27 19:05
Hevak:,而TGTD會得到目標路徑,OF會得到一個包含日期的檔名 05/27 19:06
Hevak:最後他創建目標資料夾,再把SRCD的東西打包成TGTD下的home- 05/27 19:07
Hevak:時間.tgz 05/27 19:07
Hevak:$()的寫法是指取得()中的回傳值 05/27 19:08
kdjf:樓上是指程式從stdout輸出的內容 05/27 21:04
Hevak:對,stdout,剛剛講錯orz 05/27 21:20