jab*_*jac 0 bash alias for-loop
我正在尝试创建一个别名,该别名在几个文件夹中循环并运行一个build命令,但我一直得到显示的输出for >。
这是我的.zshrc文件中提供的功能
recurse_build () {
for src in `ls`; do
cd $src; build; cd ..
done
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试做一个别名
alias br='recurse_build'
Run Code Online (Sandbox Code Playgroud)
但我最终得到以下提示
for >
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
编辑:修复函数中的语法错误。键入而不是复制粘贴是一种糟糕的情况
除了命令替换中缺少反引号之外,这还是迭代文件的错误方法。使用全局模式。
recurse_build () {
for src in */; do
pushd "$src" || continue # Don't do anything if pushd fails
build
popd
done
}
Run Code Online (Sandbox Code Playgroud)
使用pushd和popd比记住要返回的地方要干净一些。