1
經過幾個小時的騷動後,我放棄了。帶當前目錄的bash前綴輸出
我有一個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和陷阱DEBUG,但沒有喜悅。
任何想法?
試過了。 cd()函數只捕獲腳本中明確存在的cd,而不是makefile中的cd。 – user3734586
試過了。 cd()函數只捕獲腳本中明確存在的cd,而不是makefile中的cd。 DEBUG陷阱只回應PWD的值,而不是當前執行pwd的結果。另外,它似乎只在主腳本中捕獲命令,而不是任何剝離的makefile。有任何想法嗎? – user3734586
您無法在bash腳本中跟蹤make過程中的chdirs。但是,您可以嘗試設置環境變量MAKEFLAGS = -w,以便make會跟蹤它自己的chdirs。 但是如果你真的想跟蹤任何進程中的所有'chdir'系統調用,那麼我想''strace'或類似的LD_PRELOAD c庫的破解是要走的路。 – jil