shell script - Linux

Table of Contents

看到下面一段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

--

All Comments

Skylar Davis avatarSkylar Davis2013-05-28
man bash
Yuri avatarYuri2013-06-01
Emma avatarEmma2013-06-02
$1是傳給script的第一個參數,例如你在命令列執行 foo.sh a
,則a就是$1
Anonymous avatarAnonymous2013-06-05
然後SRCD=、TGTD=和OF=分別是指定值給這些變數
以這個script為例,SRCD會得到$1的值(在bash下以$提取變數
Carol avatarCarol2013-06-09
,而TGTD會得到目標路徑,OF會得到一個包含日期的檔名
Queena avatarQueena2013-06-13
最後他創建目標資料夾,再把SRCD的東西打包成TGTD下的home-
時間.tgz
Edward Lewis avatarEdward Lewis2013-06-16
$()的寫法是指取得()中的回傳值
Kyle avatarKyle2013-06-18
樓上是指程式從stdout輸出的內容
Freda avatarFreda2013-06-21
對,stdout,剛剛講錯orz