xargs與cp的使用 - Linux

Table of Contents

小弟有個檔files_to_cp內容如下
~peter/largeDir/AAA
~peter/largeDir/BBB
~peter/largeDir/CCC

接著下如下指令
cat files_to_cp | xargs -i -t cp -r {} .

結果顯示
cp -r ~peter/largeDir/AAA .
cp: cannot stat `~peter/largeDir/AAA': No such file or directory
cp -r ~peter/largeDir/BBB .
cp: cannot stat `~peter/largeDir/BBB': No such file or directory
cp -r ~peter/largeDir/CCC .
cp: cannot stat `~peter/largeDir/CCC': No such file or directory
複製失敗

不過我實際把
cp -r ~peter/largeDir/AAA .
這樣一行拿來執行又是正確的
請問是什麼原因呢?

感謝!

--

All Comments

Kumar avatarKumar2011-11-05
確定是~peter/largeDir/AAA而非~/peter/largeDir/AAA ??
Sierra Rose avatarSierra Rose2011-11-10
~符號是shell去展開的,cat沒通過shell所以符號沒變home
Hedda avatarHedda2011-11-14
原來如此!感謝!
Catherine avatarCatherine2011-11-15
透過 shell 去展開 ~
cat files_to_cp | xargs -i -t /bin/bash -c cp -r {} .
Joe avatarJoe2011-11-17
謝謝!原來可以這樣用