知っておくとちょっと便利!シェルスクリプトの作り方2

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

今号では、前回より引き続き知っておくとちょっと便利なシェルスクリプトの基本についてご紹介します!

コマンド例2 (if 文)

  • if 文とは
    条件分岐をさせるための構文
    実行結果によって、プログラムに違う動作をさせる
  • 構文(基本系)
    if [ 条件式 ] ;then
      (実行結果が条件に合致した場合に行う処理)
    fi
    

    ※”[” および “]” と条件式の間には、スペース (空白) が必要です。

  • 例文(基本系)
    例文では、条件式の中で 2つの文字列 ($txt1, txt2) の値を比較し、同じ値である場合 “true” という文字を出力しています。
    下記の場合、2つの文字列 ($txt1, txt2) に同じ値 “txt” が入っているため、”true” が出力されました。

    # cat oss2-1.sh
    #!/bin/bash
    
    txt1="txt";
    txt2="txt";
    
    if [ $txt1 = $txt2 ] ;then
      echo "true";
    fi
    
    # ./oss2-1.sh
    true
    

    なお、下記のように 2つの文字列 ($txt1, txt2) にそれぞれ違う値 “txt1″,”txt2” を指定すると、
    条件に合致した場合の処理 (echo “true”) は実行されず、何も出力されません。

    # cat oss2-1.sh
    #!/bin/bash
    
    txt1="txt1";
    txt2="txt2";
    
    if [ $txt1 = $txt2 ] ;then
      echo "true";
    fi
    
    # ./oss2-1.sh
    #
    
  • if文で使用できる演算子
    if文における “[ ]” 内の条件式では、様々な演算子が使用できます。
    ここですべての演算子をご紹介することはできませんが、とりわけ使う頻度が高いと考えられるもの、
    OSSエンジニアが日頃からよく使用しているものをピックアップしてご紹介します。

    演算子使用例意味
    -eq数値1 -eq 数値2数値1と数値2の値が等しければ、条件に合致
    -ne数値1 -ne 数値2数値1と数値2の値が等しくなければ、条件に合致
    =文字列1 = 文字列2文字列1と文字列2の値が等しければ、条件に合致
    !=文字列1 != 文字列2文字列1と文字列2の値が等しくなければ、条件に合致
    -e-e ファイル名指定したファイル名が存在するならば、条件に合致
    -a条件1 -a 条件2条件1および条件2のどちらも成り立つ場合、条件に合致
    -o条件1 -o 条件2条件1もしくは条件2のどちらかが成り立つ場合、条件に合致

    -eq 演算子で、2つの数値を比較するスクリプトの例

    # cat oss2-2.sh
    #!/bin/bash
    
    num1=100;
    num2=100;
    
    if [ $num1 -eq $num2 ] ;then
      echo "true";
    fi
    
    # ./oss2-2.sh
    true
    

    -e 演算子で、指定したファイルが存在するかを確認するスクリプトの例

    # cat oss2-3.sh
    #!/bin/bash
    
    file="/var/log/messages"
    
    if [ -e $file ] ;then
      echo "true";
    fi
    # ./oss2-3.sh
    true
    

    ※次号では、シェルスクリプトの作り方 (if文、ちょっと応用編) についてご紹介していきます。

アバター画像
About 貝野 友香 71 Articles
OSSよろず相談室でサポートをやっています。時々ライブ配信や勉強会に出ていることもあります。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる