我想讓我們bash腳本批量執行現有的包。每個執行的輸入需要兩個輸入文件。我可以使用常規名稱,也可以將每個對放在其自己的子目錄中,以確保每對都保持在一起。我有一些零碎的東西,但是沒有任何東西在兩個文件之間循環,或者進入一個子目錄,做一些事情,向上移動並重復下一個子目錄。循環輸入文件對
這將執行我想要什麼就包含對文件(每個文件對被命名爲如ABC10f.txt
和ABC10r.txt
)的單一目錄:
#!/bin/bash
#
f=$(ls *f.txt)
echo "forward -> $f"
i=$(ls *r.txt)
echo "reverse -> $i";
/path/to/package [options] $f $i;
通過我的主要的每個子目錄下面將循環目錄,但只執行我只有當它到達最後一個(注意:我正在測試它與helloworld.sh
- 我想如果我可以得到它列出每個子目錄和回聲「你好世界」後我每次我的方式做我想做的;而是我得到一個所有子目錄,後面跟着一個「hello world」的列表):
#!/bin/bash
#
myCommand=/path/to/scripts/helloworld.sh
for d in ./; do
find * -maxdepth 1 -type d
cd $d
echo $PWD
exec "$myCommand"
done
有點幫助把它放在一起嗎?
不要試圖讓這兩個列表。獲取一個列表並將名稱轉換爲配對名稱。 –
'但只執行我只有當它到達最後一個'=>你的第二個腳本中的第一個'cd $ d'是*有效的*,但後面的不是。在絕對路徑中使用'cd'或使用'cd'到子shell中的相對路徑。 –