我寫了一個簡短的csh腳本讀取一個文件,其中包含路徑要複製的文件,然後複製這些文件到一個目錄:涉及到如何「CP --parents」有趣的問題,工作
1 #!/bin/csh
2 #
3 # This script copies source and executable files modified to solve issues
4 # brought up by Veracode.
5 #
6
7 set tempdir = '~/updatedfiles2'
8
9 foreach line ("`cat modifiedFiles`")
*************here is the cp line**************
10 `cp -a $line $tempdir`
**********************************************
11 end
以前工作正常。因爲在具有不同路徑的文件具有相同名稱的情況下,發生了碰撞,所以我決定保留目錄樹形式下的這些文件的路徑,該目錄樹在tempdir
目錄下。 (即/vobs/emv/integratedClient/jniWrapper/OEMIMAKEFILE
和/vobs/mv_components/utilities/general/OEMIMAKEFILE
)
所以,我試圖用--parents
選項,就像這樣:
1 #!/bin/csh
2 #
3 # This script copies source and executable files modified to solve issues
4 # brought up by Veracode.
5 #
6
7 set tempdir = '~/updatedfiles2'
8
9 foreach line ("`cat modifiedFiles`")
*************here is the cp line**************
10 `cp -a --parents $line $tempdir`
**********************************************
11 end
當我測試了一下,開始嘗試我的系統的整體複製,在首發根目錄,這不是我想要的效果。我只是試圖複製特定的文件,在複製時維護它們的目錄結構。
我找到了一些關於--parents
的解釋,但沒有一個描述我所看到的事情。是因爲我用--parents
錯了嗎?它是我的輸入文件嗎?我不確定。
的modifiedFiles
含量(這是tempdir
的值)看起來像這樣:
...
4 /vobs/emv/C_API/APIPrivate.cpp
5 /vobs/mv_components/utilities/class/Array.c
6 /vobs/mv_components/utilities/class/String1.c
7 /vobs/mv_components/export_functions/code/write_nastran_ortho3_none.c
...
/vobs
是根目錄,所以這可能是實現一些與--parents
。有沒有人聽說過無限制的遞歸複製,儘管有特定的文件路徑和沒有-r
的說法?我誤解了--parents
?