bash等のB-sh系シェルでは 変数定義 コマンド ... とすることで、一時的に「環境変数を定義」して「コマンド」を実行します。 VERSION=2; echo ${VERSION} は、 VERSION=2 echo ${VERSION という2つのコマンドを順次実行するものです。 現在実行しているシェルで変数VERSIONに2が設定されます。 VERSION=2 echo ${VERSION} は、一時的にVERSION=2を設定して、echo ${VERSION}を実行する、という1つのコマンドです。 これを VERSION=5 echo ${VERSION} などとしても、現行シェルのVERSIONは元のままです。 ただ、この場合、やはり出力は「2」になります。それは、このコマンドラインの実行の流れとして、まず${VERSION}が展開され「VERSION=5 echo 2」が
![Bashでのセミコロン](https://cdn-ak-scissors.b.st-hatena.com/image/square/d8ac5bcbc24a7778f603b6b043e27944aa2fb096/height=288;version=1;width=512/https%3A%2F%2Foshiete.xgoo.jp%2Fimages%2Fsp%2Fqa_recommend%2F2098_5.jpg)