2016-07-02 8 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を記録する必要はありません。一部をできるように任意のより良い方法はありますか?あなたの単純なケースだけ

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

のために、より複雑なユースケースのためのpushdとPOPDコマンドもありますので

答えて

6

魚はすでに、最近訪問したディレクトリの履歴を保持します。

+0

でも 'cd ..'が動作します。 –

+0

pushdとpopdはどうですか? –

+1

'cd ..'は、魚がシンボリックリンクをどのように処理するかによってわずかに危険です。そして私はpushd/popd :-)について言及しました –

関連する問題