2016-07-02 65 views
2

我有一個包含多個項目的目錄,我想針對每個項目運行一些命令。如何在魚中設置臨時腳本?

現在我在做什麼是:

cd /my/project/root 
set root (pwd) 
for p in * 
    cd $p 
    git reset --hard HEAD 
    git clean -dfx 
    cd $root 
end 

它的工作原理,但不是很優雅。有沒有更好的辦法讓部分:

git reset --hard HEAD 
git clean -dfx 

在臨時工作目錄運行,所以我並不需要記錄在每個循環結束的rootcd $root

回答

6

魚已經保持最近訪問目錄的歷史記錄,因此爲您簡單的情況下,只需

for p in * 
    cd $p 
    do something 
    cd - 
end 

還有更多複雜的用例的pushd和POPD命令。

+0

即使'cd ..'也可以。 –

+0

pushd和popd怎麼樣? –

+1

請注意,由於魚處理符號鏈接的方式,cd ..有點冒險。我提到了pushd/popd :-) –

相關問題