bash関数で実行された最後のコマンドを返します。

bash関数で実行された最後のコマンドを返します。

これに似ています:シェルスクリプトで実行された最後のコマンドを返します。

 lastCommand=$(some command here)

同じ結果が得られますが、bashスクリプトの代わりにbash関数で使用できますか?

ポリスチレン

lastCommand前のコマンドを示します。~へ機能。

Bash 4.2+ソリューションで十分です。

答え1

xtraceieを使用して、set -xシェルで実行されたすべてのコマンドの履歴を取得できます。

設定:

xtracefile=$(mktemp)
exec 9>"$xtracefile"
BASH_XTRACEFD=9
set -x

それから何でも実行してください。

foo() { echo foo; echo bar; }
foo

次の行を$xtracefile含める必要があります。

+ echo foo
+ echo bar

これを使用して必要なものを選択できます。これにより、いつでもファイルが消去またはクリーンアップされず、ファイルが無限に大きくなります。

これらのシンボルを削除するには、+を指定しますPS4=""

関連情報