有人可以建议我如何针对以下问题编写脚本吗?

有人可以建议我如何针对以下问题编写脚本吗?

任何人都可以建议我如何在脚本中使用此步骤(我需要获取第一个命令的输出,我需要对所有三个命令使用第二个命令)?

[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

相关内容