変数を設定して、それをprintfで出すだけなら、以下のようなスクリプトで事足りるでしょう。
$ VAR="hoge" $ printf "Value::%s\n" ${VAR} Value::hoge
さて、ここで問題。
変数が空の場合一々判定して別のprintf文を作る必要があるのでしょうか?
答えはNO。
幸いにして、空だった場合の代用文字を入れるオプションがあります。
$ VAR="" $ printf "Value::%s\n" ${VAR:Nothing} Value:: $ printf "Value::%s\n" ${VAR:-Nothing} Value::Nothing
さらに、そのまま変数に投入するオプションも。
$ printf "Value::%s\n" ${VAR:=Nothing} Value::Nothing