我想將某個文件複製到某個位置,而不管目標中是否存在該文件。我試圖通過shell腳本複製,但該文件沒有被複制。我使用下面的命令複製並覆蓋shell腳本中的文件
/bin/cp -rf /source/file /destination
,但不起作用。
我想將某個文件複製到某個位置,而不管目標中是否存在該文件。我試圖通過shell腳本複製,但該文件沒有被複制。我使用下面的命令複製並覆蓋shell腳本中的文件
/bin/cp -rf /source/file /destination
,但不起作用。
這個問題已經討論過,但是你可以寫這樣的小腳本:
#!/bin/bash
if [ ! -d "$2" ]; then
mkdir -p "$2"
fi
cp -R "$1" "$2"
使用
cp -fr /source/file /destination
這也許應該解決的問題。
您的問題可能是由默認情況下在系統中創建的cp命令的別名引起的(您可以通過鍵入「別名」來查看別名)。 例如,我的系統默認具有以下alis:alias cp ='cp -i',其中-i覆蓋-f選項,即cp將始終提示您進行覆蓋確認。
你在這種情況下需要什麼(即使你沒有別名,它也會工作)是向該確認提供「是」。要做到這一點,只需修改您的cp命令,看起來像這樣:
yes | CP /源/文件/目的
完美,謝謝你的支持! –
也許你應該試着--remove目的地 – jDourlens
'cp'覆蓋目標除非給出選項「-n」,所以你的命令應該成功。你也沒有告訴我們爲什麼你認爲你的命令失敗了。 – scai
是否有任何錯誤消息? –