経緯
実は以前実務でシェルスクリプトを書く機会があったのですが、思ったほどすらすら書くことが出来ずに苦戦した思い出があります。そうこうしている間に「新しいLinuxの教科書-三宅英明-」と出会い、使う機会がなかったコマンドが多くあることを知り、また手をこまねいている内に今度はAWS CLIを使う必要が出てきました。いったい何時になったら自分はシェルスクリプトをキチンと扱えるレベルになるのか。。。そこで一度基礎からみっちりやってみようという気になった次第でございます。
挨拶
思ったより多くの方にご覧になって頂けたようで、感謝感激でございます。
実務で扱うようになった事をきっかけにシェル芸に入門して、今に至ります。
もしよろしければ、後続の記事と合わせて読んでいただけると幸いです。
自己紹介
・エンジニア歴半年未満の駆け出し。
・初めて書いたコマンドは /usr/bin/aws rds create-db-snapshot(なんとAWS CLIw)
・将来DevOps系の業務担当となるために日々此れ学習。
環境構築
今回は私が普段から愛用しているiTermを使っていきます。
起動してすぐ、下記のコマンドを実行していきます。
$ echo $SHELL
これは今使っているshellを確認しています。教科書通り、難しいことは抜きにしてbashを使っていきましょう。
$ chsh
パスワードの入力を求められるため、ご自分のパスワードを入力してください。
画像のようにShellの部分をzsh→bashに変更します。viの基本操作通り、esc→:wqを押してファイルの変更を保存。デフォルトでbashを使用するように設定します。これでターミナルからシェルスクリプトを実行していきます。
一度iTermを終了してから再度Shellを確認すると、
$ echo $SHELL
bashに変更されていることが確認できます。次からは実際にシェルスクリプトを実行していきます。
(1)延々と時を止める。
$ sleep 10000
Ctrl + C で止めてあげましょう。笑
(2)簡単な計算
$ echo '100+100'|bc
200
|bcは計算をせよという命令で、これが抜けると'100+100'は文字列として認識されます。
(3)ファイルへの出力
$ echo '100+100'|bc > addition
100 + 100の計算結果をadditionというファイルにリダイレクトします。
(4)今作ったいらないファイルを消す。
$ rm addition
(5)フォルダ(ディレクトリ)を作成する。
$ mkdir Charizard
(6)今作ったフォルダに移動する。
$ cd Charizard
(7)フォルダ(ディレクトリ)を削除する。
$ rmdir Charizard
(8)今いるディレクトリ(カレントディレクトリ)から前のディレクトリに戻る
めっちゃ使います!
$ cd ..
(9)これまで使ったコマンドを確認する
$ history
1 sleep 10000
2 echo '100+100'|bc
3 echo '100+100'|bc > addition
4 rm addition
5 mkdir Charizard
6 cd Charizard
7 rmdir Charizard
8 cd ..
(10)カレントディレクトリのファイル一覧を表示する
(さっき消したからほんとは存在しないよ)
$ ls -l
addition