Bashとは
「シェル」の一つのことであり、「シェル」とはLinuxやUNIXやMac等のOSに対して命令を実行する為のプログラムのこと。
特にBashスクリプトとは主にバックエンドにおける様々な処理の「自動化」を目的として使用される。
近年ではDevOps、AWS、GCP、オンプレでの実サーバー管理などにおいて一連の作業を自動化することに使われています。
Pythonなど他のスクリプト言語もあるのですがLinuxはBashが標準でインストールされているためLinuxやMacであれば初期設定なしで使えるという大きなメリットがあります。
Bashと同等に求められるプログラム言語とは
現場の経験的にBashと同等に求められるプログラム言語を紹介します。
①バッチファイル(Batch File)
MS-DOS、OS/2、Windowsでのコマンドプロンプト(シェル)に行わせたい命令列をテキストファイルに記述したもの。
これらはマイクロソフトが開発したシェルであり、大手SIerの中には認証用のサーバーとしてマイクロソフト製品を利用していることが多く(自分の経験的には認証としてはほぼこれ)
インフラや運用管理系の案件では開発用の作業端末もWindowsのPCであることが多いです。
WindowsOS環境があると各作業を自動化&効率化
できてめちゃめちゃ人材として重宝
されます。
②teratermマクロ
フロントエンド系のエンジニアの方は無縁だと思われるのが意外とこのteratermマクロ。
OS側の環境変更やCLIにて運用管理業務を自動化します。こちらはLinux、WindowsやMacOSにも対応しており(その為の環境変更は必要だが)管理系業務を自動化したい場合は最高に使えます。
ちなみにことらのプログラムは管理業務を自動化したい効率性の高い企業は積極的に採用しています。
オンプレ側では優秀なサーバーエンジニアとネットワークエンジニア
が積極採用しているイメージです。
③VBA
定型業務の自動化、省力化。
例えば、毎日更新されるデータを出社してからいちいち手入力し、手順を入力して計算させていた業務を、夜の間に自動でソフトウェアを起動し、データを読み込ませ、朝までに処理させておける。
またOfficeアプリケーションではマクロ記録/再生という操作手順の記録/再生機能を使って、プログラムに関する知識が少ないユーザーでも、ある程度の定型業務の自動化を行なえる。マクロはVBAコードの自動生成により実現されている。
ちなみにWebブラウザとも連携できるしOS系の運用管理業務も自動化できます。ExelVBAができるとエンジニア以外の業務の定例作業も自動化できるので現場で重宝されます。
最後に
フロントエンド系エンジニアの方にとっては触る機会が少ないと思われるのでキャリア形成において費用対効果が低いと思われますが、
DevOps系、バックエンド系やインフラエンジニア(サーバー、ネットワーク)においては近年自動化は注目されているので、上記キャリアを形成する可能性がある方はこの手の言語を習得する為に時間を費やす費用対効果はめちゃめちゃ高いです。
是非気になる方は習得してみましょう。
※近日中に__実際の使われ方やコードを公開__しますね!!