2012-03-29 41 views
6

這是一個基本問題,但我正在努力尋找一個體面的解決方案。這阻礙了我的腳本自動化。如何在沒有完整路徑的情況下在文件夾和父文件夾之間進行復制

我有以下路徑。

/home/hassan/Dyna/ProjectSimulation 
項目模擬

我有3個文件夾

friction time force 

/home/hassan/Dyna/ProjectSimulation/friction 

現在我在這個文件夾中的摩擦文件friction1.txt,我想將它複製到ProjectSimulation。

是有可能避免完整路徑,只是一個下臺?

另外,如果我要複製此friction1.txt到文件夾力,反正是有避免的完整路徑。

我的意思是我有一個子程序但這是路徑依賴的,每當我跑了,我一定要在同一個文件夾中運行,然後複製我的結果,所以我只能運行一個我的模擬實例。

專家請指導我。

PS:這是一個600線的一部分外殼。

回答

9

這是非常基本的,我一定誤解了你的問題。

如果你想引用父目錄,..是做到這一點的方式。所以,如果你想friction1.txt兩個地方複製你只是做

cp friction1.txt .. 
cp friction1.txt ../force 

所有你需要照顧的是確保CWD是

/home/hassan/Dyna/ProjectSimulation/friction

,以便引用指向在正確的地方。

0

可以temprarily改變當前目錄ProjectSimulation,複製文件(cp friction/friction1.txt .),然後將路徑更改回原來的(這樣腳本的其餘部分和以前一樣)

或者,你可以使用dirname獲取父目錄的名稱並使用它。

0

更改爲已知目錄結構的根目錄。然後用相對路徑進行復制操作。然後回到你來自的目錄。

您的朋友們:

cd 
cd - 

或更好:

pushd 
popd 

(見男子bash)的

pushd /home/hassan/Dyna/ProjectSimulation 
cp friction/friction1.txt . 
cp friction/friction1.txt force 
popd 
相關問題