作者sean72 (.)
看板Linux
标题[问题] shell script
时间Mon May 27 14:37:04 2013
看到下面一段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
1F:推 stimim:man bash 05/27 15:01
4F:推 Hevak:$1是传给script的第一个参数,例如你在命令列执行 foo.sh a 05/27 19:04
5F:→ Hevak:,则a就是$1 05/27 19:04
6F:→ Hevak:然後SRCD=、TGTD=和OF=分别是指定值给这些变数 05/27 19:05
7F:→ Hevak:以这个script为例,SRCD会得到$1的值(在bash下以$提取变数 05/27 19:05
8F:→ Hevak:,而TGTD会得到目标路径,OF会得到一个包含日期的档名 05/27 19:06
9F:→ Hevak:最後他创建目标资料夹,再把SRCD的东西打包成TGTD下的home- 05/27 19:07
10F:→ Hevak:时间.tgz 05/27 19:07
11F:→ Hevak:$()的写法是指取得()中的回传值 05/27 19:08
12F:推 kdjf:楼上是指程式从stdout输出的内容 05/27 21:04
13F:推 Hevak:对,stdout,刚刚讲错orz 05/27 21:20