推 freemantw: 教學網站可以參考[鳥哥的Linux私房菜] 09/21 20:59
→ freemantw: 你錯誤的原因是沒有空格,把錯誤那行貼到google search 09/21 21:01
推 filiaslayers: 不是換行嗎?then不用換行 09/21 21:22
推 shiyeh: 鳥哥看一看吧... 09/21 22:30
→ gmotwm2001: 是哪裡沒空格,我有試過then不換行還是錯@@ 09/21 22:40
推 goldie: 括號裡面要空一格 09/21 22:48
→ goldie: if 後面也要要空一格。 09/21 22:48
推 mars90226: 用 chmod a+x program.sh 把執行權限打開 09/21 23:32
推 bluecadence: 所以你到底是用 sh 還是 bash? 09/21 23:47
→ bluecadence: 你的script #!/bin/bash 然後用 sh 當 interpreter? 09/21 23:48
→ gmotwm2001: 我是照鳥哥打的@_@ if 判斷式是照其他網頁 09/21 23:51
推 patrick521: 如果是redhat系列,sh是link到bash沒問題,我也覺得是 09/22 00:37
→ patrick521: 空格問題 09/22 00:37
推 dou0228: 空格問題,因為 if [ -e "xxxx" 是傳給 if 三個參數 09/22 08:24
→ dou0228: 如果是 if[-e $file 那就是 if[-e 是執行檔,$file是參數 09/22 08:24
→ dou0228: 其實是有一個 [ 執行檔的 09/22 08:25
→ kenduest: 目前用 bash 的 [ 是內建命令了,早期 sh 年代才會 09/22 09:33
→ kenduest: 呼叫到外部的 [ 那個程式檔案 09/22 09:33
推 chang505: 先把格式打對來 09/22 09:57
剛剛修正空格後已經可以執行,想再請問我將echo $File改為同步備份指令如下
rsync -av --delete /a/* /b 將a資料夾底下的資料備份到b資料夾,可是a資料夾中的
資料刪除後,b資料夾原本複製的資料也應該要刪除掉,可是他沒有刪除,只有增加才會
備份,想請問指令是否有打錯(我查網路是只要家delete就可以),謝謝!
b
※ 編輯: gmotwm2001 (140.117.166.187), 09/22/2017 10:28:30
→ kenduest: 你需要是 ... --delete /a/. /b 這個語法吧,不是用 * 09/22 11:45
→ kenduest: * 只是 match a 該目錄內單層而已 09/22 11:46
→ gmotwm2001: k大您好,我改好了~*跟 /.是差在哪邊呢? 09/22 13:36
→ kenduest: 你可以重新測試,在 rsync 前面命令多加一個 echo 09/22 16:26
→ kenduest: 可以看出萬用字元展開情況,就會知道原因了 09/22 16:26