酷!學園

技術討論區 => Linux 討論版 => 主題作者是: yes298 於 2008-01-09 16:40

主題: 請教簡單的bash shell
作者: yes2982008-01-09 16:40
小弟Linux初哥, 請教各位學長 如何將以下變為bash shell:

if /tmp/a此目錄不存在
   執行command 1 && 執行command 2
end if

我只會[ -d /tmp/a ] || command 1
在||之后只能執一個command, 所即使用[ -d /tmp/a ] || command 1 && command 2
不論[ -d /tmp/a ]結果如何, command 2都會執行, 所以我想用if ... end if 包圍著.

主題: 回覆: 請教簡單的bash shell
作者: hikohan2008-01-09 16:44
fyi:

http://vertigo.hsrl.rutgers.edu/ug/shell_help.html
主題: 回覆: 請教簡單的bash shell
作者: smeeis2008-01-09 17:49
if [ ! -d /tmp/a ]
then
cmd1 && cmd2
fi
主題: 回覆: 請教簡單的bash shell
作者: yes2982008-01-09 18:51
原來感嘆號放在[]里面 ...

感謝幫忙  ...


要好好學學shell才行 ...

不知哪個網站有較詳細的教學 ...
主題: 回覆: 請教簡單的bash shell
作者: creative12232008-01-28 15:49
中括號裡面…前後還要有空格才不會錯
主題: 回覆: 請教簡單的bash shell
作者: harrier2008-01-28 16:31
原來感嘆號放在[]里面 ...
感謝幫忙  ...
要好好學學shell才行 ...
不知哪個網站有較詳細的教學 ...

每個發行版的 /etc/rc.d/
裡面都是範例。
看到什麼學什麼。
主題: 回覆: 請教簡單的bash shell
作者: netman2008-01-28 23:46
[ -d /tmp/a ] || { comd1; comd2; }
主題: 回覆: 請教簡單的bash shell
作者: shen369302008-03-20 13:41
想請教一個問題
我用find將檔案群(分散在各個資料夾內的trash)找出來ex:trash
#!/bin/bash
find /home |grep trash
if [ -e trash ] && [ -f trash ]; then
rm logical
fi

卻無法將找出來的檔案刪除
主題: 回覆: 請教簡單的bash shell
作者: ohmygod2008-03-20 15:12
代碼: [選擇]
for rmfile in `find /home -type f`
do
    if [ ${rmfile##/*/} = trash ];then
         rm $rmfile
    fi
done
主題: 回覆: 請教簡單的bash shell
作者: vantien2008-03-20 17:17
代碼: [選擇]
find /home -type f -name trash -print

先看找出來的是不是要的結果, 確認後再執行刪除

代碼: [選擇]
find /home -type f -name trash -exec rm -rf {} \;
主題: 回覆: 請教簡單的bash shell
作者: shen369302008-03-21 17:34
謝謝  ohmygod 與vantien 的回覆

發現vantien 的
find /home -type f -name trash -exec rm -rf {} \;
可以簡單解決我的問題
並做註解給看不懂得(大概只有我吧)
-type後接(類型)
-name後接(檔案名稱)
-exec後接(執行命令)