
與此類似:傳回 shell 腳本中執行的最後一個命令。
lastCommand=$(some command here)
是否可以達到相同的結果,但在 bash 函數而不是 bash 腳本中使用?
聚苯乙烯
lastCommand
表示上一個指令裡面功能。
Bash 4.2+ 解決方案就足夠了。
答案1
您可以使用xtrace
, ieset -x
來取得 shell 執行的所有命令的歷史記錄:
設定:
xtracefile=$(mktemp)
exec 9>"$xtracefile"
BASH_XTRACEFD=9
set -x
然後運行任何東西
foo() { echo foo; echo bar; }
foo
現在$xtracefile
應該包含以下行
+ echo foo
+ echo bar
你可以用它來選擇你想要的任何東西。請注意,這不會在任何時候清除或清理文件,它會無限期地增長。
如果您想去掉這些+
符號,請指定PS4=""
。