(変数、条件判定)ツイートそれではコードの解説に入ります。最初の関数の宣言部分は後回しで説明したいので、まず最初に以下の部分を見ていきます。条件分岐の一つであるif~then~の構文を理解する必要があります。この三つを解説します。変数の宣言は以下のように変数名にイコール(=)をつけて値を代入します。変数名=値そして変数を使うときは以下のように変数名に$マークをつけることで変数の値にアクセスできます。使うときはなるべく${変数名}のように{}で囲んだほうが安全です。${変数名}$変数名プログラム上では、以下の部分が変数宣言に該当します。dateコマンドの結果と文字列".tgz"を連結した結果を代入また、以下のような場所で変数を利用してました。$2の中身を文字列に埋め込み$1、$2は特殊変数という特別な変数ですが、ほかの変数のように$に続く変数名の中に値を持っています。変数宣言の注意点として、イコール(=)の前後にスペースがあってはいけません。NG特殊変数ここまで、$1、$2という記号が出てきましたが、これらはシェルプログラムの中では特殊変数と呼ばれています。一般的な変数はシェルプログラミングの中でユーザが明示的に宣言をして利用していきます。特殊変数は、このような一般の変数とはちょっと異なり、プログラム自身が予約している特別な変数になります。特殊変数が持っている主な値は、シェルプログラム自身に関する情報です。シェルを実行したときの引数などがこれにあたります。上記の$1や$2にはシェルプログラム実行時の第1引数、第2引数がそれぞれ格納されています。特殊変数には以下のようなものがあります。ちなみにこれらの特殊な変数は参照されるだけであり、値を代入することは許されません。$1は第1引数、$2は第2引数...。