定義された変数に関数パラメータを渡す

定義された変数に関数パラメータを渡す

この例のように、定義された変数に関数パラメータを「注入」する方法は?

mood="i am $1 happy"

happy ()
{
    echo "$mood"
}

happy "very"

現在の出力:

i am  happy

希望の出力:

i am very happy

ありがとうございます!

編集する:

実際の例:他のファイルには、次のような翻訳可能な文字列がたくさんあります。

installing="Installing"
installation_started="The installation of <app> started at <date>"
installation_ended="The installation of <app> ended at <date>"

次の機能もあります。

apt_get_install ()
{
    echo "$installing $1..."
    echo "$installation_started"
    apt-get -y install "$1"
    echo "$installation_ended"
}

apt_get_install <app>

<app>それから出力に注入したいと思います。

ベストアンサー1

これはうまくいきます。非常に注意evalし、ユーザー入力に使用しないでくださいeval。どんな作業でも行われます。

mood='i am $1 happy'

happy ()
{
    eval echo "$mood"
}

happy "very"

おすすめ記事