茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1730261 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
F09_366.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2012/7/25 8:29:59
冷日今天測試 Shell 的時候,發生了一個慘案!
那就是 rar(unrar 也一樣)用萬用字元(*.rar)居然會無法解壓縮!? OMG

冷日的 Shell 基本如下:
$RARPROGRAM e -o+ -sm0 -y -idc,p -ilog$LOGFILE $FTPDOWNLOADFOLDER/*.rar $DESTINATIONFOLDER >> $LOGFILE

執行後會出現
No files to extract淚奔
範例:
[root@Secret_FTP DownloadTmp]# /usr/bin/rar e -o+ -sm0 -y -idc,p -ierr /home/*.rar /home/DestUnRAR

Extracting from /home/data2720100.rar

No files to extract

這問題困擾冷日將近半天,怎麼想都覺得不對阿!?
檔案有找到、命令語法無誤、資料夾權限無誤,到底問題在哪?! Orz哭
經過半天的 Debug,只能推測 Linux 上的 rar(unrar也測過 N 次了)不支援萬用字元(*.rar)了! 嘆息
註:冷日知道很不合理,檔案都找到了,運作也開始了,感覺比較像是 rar 內部不知道哪裡出錯,但想不出其他理由,更測不出其他方案阿! 搞自閉

本來都已經放棄了,打算改採 Shell 寫法,就一個一個 rar 透過 shell 抓進來解吧:
for rarfile in $FTPDOWNLOADFOLDER/*.rar
do
  $RARPROGRAM e -o+ -sm0 -y -idc,p -ierr $rarfile $DESTINATIONFOLDER >> $LOGFILE
done


突然被某人提醒,參數需要雙引號(")嗎!?
心理雖然覺得不合理,但反正都已經搞了半天了,不差這一下子的測試!
結果~居然就 OK 了!? 石化

所以後來變成這樣寫:
$RARPROGRAM e -o+ -sm0 -y -idc,p -ilog$LOGFILE "$FTPDOWNLOADFOLDER/*.rar" $DESTINATIONFOLDER >> $LOGFILE

就只是在 那裡加了個雙引號,就完全正常了!真的是太神奇了! 烏鴉飛過

在這裡分享給大家!
簡單來說, rar(unrar)要用萬用字元時,請記得加上雙引號! orz-v2

冷日 RAR 版本:
RAR 3.80   Copyright (c) 1993-2008 Alexander Roshal   16 Sep 2008
Shareware version         Type RAR -? for help
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|