任何人都可以建议我如何在脚本中使用此步骤(我需要获取第一个命令的输出,我需要对所有三个命令使用第二个命令)?
[aaa@build]$ find . -name src
./Port/bit/WE-IN/src
./MI/M-Scripts/Msg/src
./MI/M-Scripts/TT/src
[aaa@build]$ cd ./Port/bit/WE-IN/src
答案1
您正在寻找的命令是xargs
.通常你会这样使用它:
find . -name src -print0 | xargs -I{} -0 echo {}
或者对于你的明确问题:
find . -name src -print0 | xargs -I{} -0 cd {}
答案2
您可以做的是声明 shell function ,并将 find 的每个结果传递给 while 循环,该循环将针对每个目录调用该函数。
#!/bin/bash
function f
{
echo "THIS IS " $(pwd)
ls
}
find . -maxdepth 1 -type d -name "bin" -printf "%P\n" | while read DIRNAME;
do
cd $DIRNAME
f
done
这是一个示例运行:
$ ./findAndFunction.sh
THIS IS /home/xieerqi/bin
autostart-script.sh c java perl python README.md sergrep shell