2010-02-25 42 views
0

粘貼一段代碼從外殼腳本transfer.sh關於UNIX MOVE命令重寫保護

 if [[ ${ld} -eq ${eld} ]] ; then 
      mv "$file1" "$FILESNEW/." 
      if [ $? -ne 0 ]; then 
       echo "Move Command Failed-File ${fspec}" 
      fi 

      echo "File ${fspec} Sucessfully Moved to ready directory " 
     else 
      echo "File ${fspec} line count mismatch: ${lc}/${elc}" 
     fi 

當我執行./transfer.sh移動命令等待提示「覆蓋保護Y/N」 移動命令執行時,我不希望此提示出現。我怎樣才能擺脫它?

回答

1

使用mv -f。選項-f覆蓋任何提示(「強制」)。

-f,--force

do not prompt before overwriting 
1

變化mvmv -f

Man page for mv

但要記住,-f迫使這意味着它不會提示你,你最好確保你知道它是如何去使用。

+0

非常感謝您的信息 – Arav

1

嘗試

if [[ ${ld} -eq ${eld} ]] ; then 
     mv -f "$file1" "$FILESNEW/" 
     .... 
+0

非常感謝您的信息 – Arav

0

變化:

mv "$file1" "$FILESNEW/." 

到:

/bin/mv "$file1" "$FILESNEW/." 

(或任何MV位於你的機器)

+0

非常感謝您的信息 – Arav

+0

問題不是一個無法找到「MV」 – gary

+2

@gary:但最有可能的'mv'是一個別名,並且使用'/ bin/mv'可以工作,因爲默認情況下'mv'不會要求確認。準確地說是 –