Shammer's Philosophy

My private adversaria

シェルで文字列を連結する

作成したシェルスクリプトが原始的すぎて更新が面倒・・・
ということで、やっぱり少し改良を試みる。
基本的に、cc でコンパイルすると -o オプションをつけない限りは
すべて同じ名前のバイナリファイルにコンパイルされてしまう。
そのため、ソースごとにバイナリファイル名を決めることができる必要がある。
シェルでやっているから、ファイル名として使う情報はsedコマンドで編集したりすれば
かなり細かい名前が決められそうだが、とりあえずは連番で名前を振る。


と、簡単にできそうに思ったのだが、シェルプログラミングなんで数年ぶりですっかり忘れた。
文字列の連結方法すら忘れている始末。誠に恥ずかしい・・・
忘れないようにメモっておかなければ!


 valueA="valueA"
 valueB="valueB"


これらをつなげたいとすると、


 value=$valueA$valueB


という感じで指定する。そうすると、echo $value で、valueAvalueB という情報を得られる。
今回の場合、指定すべきなのは出力先ディレクトリと拡張子。拡張子は.binにする。
なので、


 DIR="bin/"
 EXTENSION=".bin"
 BIN_FILE_NAME=$DIR$COUNT$EXTENSION
 cc -o $BIN_FILE_NAME ソースコードファイル名


という感じになる。このソースコードファイル名を直接入力するのでなく、
配列のような感じで扱いたい。これは・・・もうちょっと調べる必要があるな。