2016-07-02 7 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

푸시와 팝은 어떨까요? –

+1

'cd ..'는 물고기가 심볼릭 링크를 처리하는 방법 때문에 약간 위험합니다. 그리고 나는 pushd/popd에 대해 언급했다 :-) –