2014-04-22 115 views
0

我的目標是編寫一個腳本,它將bash命令的輸出重定向到一個新文件夾。 我正在使用的命令會生成一個包含多個不同文件和文件類型,某些文件夾等的輸出。我對此比較陌生,並且感到困惑,因爲當我想輸出時,我知道它很熱簡單的像這樣的:在Bash中重定向輸出

回聲「等等等等」> /some/location/file.txt

但在那裏我遇到了麻煩試圖多種不同的事情重定向未知名。 (即在上面的例子,如果我不知道輸出應題爲file.txt的,甚至它的文本) 幫助深表感謝

+0

多個輸出在同一個文件中? 使用下面的答案+考慮替換>用>> – PradyJord

回答

1

以下>字進行常見的展開,所以你可以寫如下代碼

output_file=/some/location/file.txt 

echo "blah blah" > "$output_file" 

它會工作,不管值output_file

+0

到目前爲止我還沒有理解這個問題。你是否? :) – hek2mgl

+0

瘋狂的猜測:)評論「......或甚至它的[原文]文本」讓我覺得擔心的是代碼將在Windows下運行,所以使用的文件擴展名是重要的,所以文件名需要被動態和正確地生成。 – chepner

+0

一位優秀的開發人員總是有一個很好的答案和很多幻想:) hihi ... – hek2mgl

0

如果您正在運行的命令是產生一個相對路徑當前工作目錄,處理它的最簡單的方法多個文件是創建一個單獨的目錄,並從那裏運行它。

例如,如果你想運行的命令10時間,沒有文件痛打對方,你可以這樣做:

for run in `seq 1 10`; do mkdir $run; pushd $run; mycommand; popd; done 

這將創建10個目錄和命令大概把它的輸出到它正在運行的目錄中。