gpt4 book ai didi

linux - 带有当前目录的 bash 前缀输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:40:34 24 4
gpt4 key购买 nike

经过几个小时的挣扎,我放弃了。

我在 bash 函数中有一个长时间运行的构建脚本,我们称它为“构建”:

function Build( ) {
cd /plugins
make
cd /acc
make
}

...我希望脚本的输出在当前目录的每一行前加上前缀,例如:

/plugins:   configure:  checking for gcc
/plugins/inner: making inner modules
...
/acc: configure: checking for speed of strstr.
/acc/misc making misc pieces

....等等。脚本中有几十张“cd”,所以我不想一一更改。尝试了各种管道组合来进行 awk 和 trap DEBUG,但没有成功。

有什么想法吗?

最佳答案

您可以尝试使用如下函数覆盖内置的 cd:

cd(){ builtin cd "$@"; pwd }

或者,如果您真的想检测每个命令,那么:

trap "eval 'echo -n $PWD:'" DEBUG

或者要真正跟踪每个 chdir 系统调用,甚至在实际 bash 脚本(例如 make)的子进程中,您可以使用 strace :

strace -f -e trace=chdir bash build.sh

关于linux - 带有当前目录的 bash 前缀输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43218222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com