ような文字列だと厄介なことになります。展開されてから実行されることになります。文字列として扱われるので問題ないのです。いう変数を定義してるんですね。使えばこのif文は不要です。値を気軽に使い回せるからです。変数の未定義とTypoに気付きたい変数とTypoは人類永遠の課題ではないでしょうか。Typoをしないプログラマは、神の手(とキーボード)を持っているか、あるいはTypoしないようプログラムされた存在(ロボット)以外に存在しないのではと思います。そのくせ、Typoは恐怖の処理を招きます。pleeeeeeeease!!そんなのエディターやIDEに任せるべき?それも一つの道でしょう。私達が真に戦うべき相手はTypoなんかじゃないはずです。いっても、Typoじゃなくても、実装ミスや勘違いで変数の未定義・空文字となってしまうことはありますよね。構成は分かりやすいですからね。${forgetful_var_3}なるほど、関数化すればif文は1つになりますね。これって、どの変数が未定義だったのか分かりにくいですよね。出力されるんですから。未割り当ての変数です単純明快ですね。forgettableが未定義でもエラーになりません。${forgettable:+$forgettable}こんな感じです。未定義しか検知しませんからね。コマンドという何もしないコマンドと組み合わせれば、もはやこれ以上ないシンプルさですね。インストールできます。これを使うと、未定義だけでなく、未使用な変数の検出をしてくれます。it.他にも色々検出してくれますが、あまり詳しくないので紹介のみに留めます。さんからtypoの指摘・修正いただきました。ありがとうございます。変数に慣れてくると、こんな事したくなりますよね。値を取得できないんでしたね。他の言語なら、変数を変数に代入するのって普通のことじゃないですか。頑張る方法が出てきましたか?ああー、なるほど確かにできますね。^)@"なんとか出来ました。気持ちのいい感じしませんね。連想配列を作った方が分かりやすいでしょう。^)@"シンプルさからは遠く、ちょっと大げさな感じですね。変数の変数って難しいのでしょうか。いうのがあるんですよ。次の説明しか書いてないです。分かりやすく区切られていないんです。これは気付きませんね。探し辛い書き方なので、使う時はコメントアウトを添えておくと(数カ月後の自分に)親切かもしれませんね。grepそんな感じで気付いたらパイプの連続です。いえ気持ちは分かります。試しながらパイプで繋いでいれば、こうなりますよね。余計な処理が多すぎますね。grep自身のプロセスの取り除くには、ちょっと正規表現を使うだけで達成できます。↓は良く見かける例です。マッチしないですからね。jenkins.warを引数にしているプロセスなのでしたね。そのように書きましょう。