1. ホーム
  2. バッシュ

[解決済み】bashは関数の定義を表示することができますか?

2022-04-16 12:40:27

質問

bashの関数の定義をbashで表示する方法はありますか?

例えば、次のような関数を定義したとします。 foobar

function foobar {
    echo "I'm foobar"
}

というコードを後で取得する方法はないでしょうか? foobar が実行されますか?

$ # non-working pseudocode
$ echo $foobar
echo "I'm foobar"

解決方法は?

使用方法 type . もし foobar は、例えば、あなたの ~/.profile :

$ type foobar
foobar is a function
foobar {
    echo "I'm foobar"
}

これは foobar を呼び出し、それが関数として定義されていた場合は declare -f pmohandrasさんの説明の通りです。

関数の本体(つまりコード)だけを表示するには sed :

type foobar | sed '1,3d;$d'