Shell 脚本,用于在构建后将文件复制到终端上显示的位置



我为自动化编写了一个shell脚本。我想知道如何将终端上显示的位置放入变量中,并使用包含该位置的变量将该位置中的特定文件复制到另一个位置。

更具体地说:我已经运行了一个命令说"构建"文件名。文件成功编译后,它会显示文件在终端上的存储位置。我想将文件从屏幕上显示的位置复制到另一个位置。

提前感谢!:)

如果你的构建命令只输出生成的输出文件,你可以把它提供给 xargscp,例如这样:

$ ./build.sh | xargs -I % cp % target_folder

这会将build.sh的输出馈送到xargs, 将获取输出并将其馈送到cp。如果您还有其他一些消息,那么您将不得不进行一些行处理。例如,假设您在那里也有一些构建消息等。

$ ./build.sh
"Building ver 23"
"bla bla"
"Build complete:"
"/path/to/build/dir/output1"
"/path/to/build/dir/output2"

例如,我们可以grep当前路径(命令pwd)或目标构建路径(或者您知道的其他内容,例如日志消息中是否有固定的二进制名称)?

$ ./build.sh | grep `pwd` | xargs -I % cp % target_folder

编辑:哎呀错别字,-I当然是输入参数,而不是+I

最新更新