我有一个包含多个项目的目录,我想对每个项目运行一些命令.
现在我正在做的是:
cd /my/project/root
set root (pwd)
for p in *
cd $p
git reset --hard HEAD
git clean -dfx
cd $root
end
Run Code Online (Sandbox Code Playgroud)
它有效但不太优雅.有没有更好的方法让这个部分:
git reset --hard HEAD
git clean -dfx
Run Code Online (Sandbox Code Playgroud)
在一个临时工作目录运行,所以我不需要记录root
,并cd $root
在每个循环的结束?
Fish已经保留了最近访问过的目录的历史记录,因此仅针对您的简单案例
for p in *
cd $p
do something
cd -
end
Run Code Online (Sandbox Code Playgroud)
还有用于更复杂用例的pushd和popd命令.