並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 9 件 / 9件

新着順 人気順

シェルスクリプトの検索結果1 - 9 件 / 9件

  • いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita

    はじめに [ $? -eq 0 ] や [ $? -ne 0 ] は冗長でデメリットしかありません。非常に多く見かける書き方ですが、1979 年に Bourne シェルが広く公開された時からこのようなコードは必要ありませんでした。実際に当時はこのような書き方は使われておらず、このような書き方をしなければならなかった歴史的な経緯などはありません。これはなぜか広まってしまった良くない書き方です。 優れたコードとは無駄がないシンプルなコードです。丁寧なコードとは無駄な処理を書くことではありません。[ $? -eq 0 ] や [ $? -ne 0 ] は書かないほうが、簡単で読みやすくわかりやすくなります。優れた文法を持つシェルは短いコードで正しく動作し、良い書き方は最短の時間と最小の手間で目的を達成することができます。コマンドのエラー処理を簡潔に書くことができるのが、シェル言語の優れている点の

      いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita
    • trapを使ったシェルスクリプトの終了処理のテンプレ(POSIX準拠) - Qiita

      # 終了処理($1: シグナル名) cleanup() { # 終了処理中に無視するシグナル(他に必要な場合は追加する) trap '' HUP INT QUIT PIPE TERM # ここに終了処理を書く : TODO # 自分自身にシグナルを再送信することでシェルスクリプトを終了する trap - EXIT "$1" [ "$1" = EXIT ] || kill -s "$1" $$ || exit 1 } # トラップするシグナル(他に必要な場合は追加する) for i in EXIT HUP INT QUIT PIPE TERM; do trap 'cleanup '"$i" "$i" done # ここより下に実際のシェルスクリプトの内容を書く : : 自分自身にシグナルを再送信しているところが特徴的だと思いますが、その理由についての解説がこの記事の内容で、POSIX 準拠で

        trapを使ったシェルスクリプトの終了処理のテンプレ(POSIX準拠) - Qiita
      • 誰も書かない? シェル・シェルスクリプトの基本

        シェルスクリプトの基本の基本とはどういうものなのか、他の多くのプログラム言語で処理を実装するのと比べ、どのような違いがあるのか。あまり ( 当然過ぎて? ) 書く人がいなさそうなので、つらつら説明したもの

          誰も書かない? シェル・シェルスクリプトの基本
        • シェルスクリプトで雪の結晶を描く | IIJ Engineers Blog

          【IIJ 2024 TECHアドベントカレンダー 12/5の記事です】 はじめに アドベントカレンダーなのでクリスマスっぽいことをしましょう。ホワイトクリスマスには雪。ということで、六角形の雪の結晶の絵を描くスクリプトを書きます。 注意: この記事ではスクリプトの例をいくつか挙げますが、まともな人間が解読できるものは出てきません。真面目に読もうとすると目が腐ります。まともなプログラムは生成AIに任せて、人間は生産性を/dev/nullに捨てるスクリプトを書くことに全力を注ぎましょう。必要な情報は文中のリンク先を参照することで得られるようにしてありますので、コードは無視してそちらを参考にしてください。 ドット絵を描く コンピュータで絵を描くには、まず画像フォーマットを知る必要があります。 ドット絵を描くのは難しくありません。たとえば、白黒2値画像ならばこんなファイルを用意しましょう。 P1

            シェルスクリプトで雪の結晶を描く | IIJ Engineers Blog
          • ShellCheckとGitHub Actionsでシェルスクリプトのセキュリティリスクを減らす - 空の箱

            ShellCheckはシェルスクリプトの静的解析ツールだ。文法エラー、バッドプラクティス、セキュリティリスクを指摘してくれる。チェック内容はWikiをみてほしい*1。 www.shellcheck.net はじめの一歩 Macの場合はbrew install shellcheckでインストールできる。早速以下のシェルスクリプトに対して解析をかけてみる。 #!/bin/bash echo "Deleting files in $DIR..." rm -rf $DIR 解析はshellcheck vulnerable.shで実行する。結果、以下のように表示される。 GitHub Actions 次にこれをGitHub Actions*2で解析することを考える。実はGHAにはデフォルトでShellCheckが装備されている。 なので、GHAでシェルスクリプトを実行する前に静的解析をかければ良い。

              ShellCheckとGitHub Actionsでシェルスクリプトのセキュリティリスクを減らす - 空の箱
            • xargs -Pで安全に並列処理するシェルスクリプトの書き方 - Qiita

              はじめに xargs コマンドの -P オプションを使用すると、指定したコマンドを並列で実行できます。この記事では次期 POSIX (POSIX.1-2024の次、10年後ぐらい)で標準化される予定の -P オプションを使った並列処理についての注意点をまとめます。 シェルスクリプトで簡単に並列処理を行う場合、xargs コマンドを使うのが簡単です。しかし xargs コマンド自体の使い方は難しいということは知っておいてください。(並列処理の話とは関係なく)find | xargs を使ったパターンをよく見かけますが(xargs と同等程度に速い)find -exec {} + を使ったパターンのほうが簡単です(遅い find -exec {} \; と混同しないように)。必要ない場合 xargs コマンドを使わないほうが良いというのは、この記事のもう一つのテーマです。 最も簡単な並列処理の

                xargs -Pで安全に並列処理するシェルスクリプトの書き方 - Qiita
              • GitHub Actions でちょっと凝ったことしたいとき、シェルスクリプトじゃなくてもいいよ

                シェルスクリプトや *nix コマンドでもいいけど... GitHub Actions で、ほんのちょっとだけ凝ったこと、というか、小さな編集処理をしたいときがあります。ありがちなのは、GitHub Actions で GitHub Pages へのデプロイを行なう際に、index.html 内の <base href="/" /> の値を書き換える、などです。 そうしたときによく見かけるコードは sed や awk などを用いたシェルスクリプトで、そういうささやかなテキスト編集などの加工を行なうことです。 自分もシェルスクリプトは決して嫌いではないですし、今時代、ChatGPT とかに聞けば、さくっとそのようなシェルスクリプトを生成してくれることでしょう。また、シェルスクリプトでワンライナーで書いた方がすっきりすることも多いです。 でもある程度の手順を必要とする処理となると、シェルスクリ

                  GitHub Actions でちょっと凝ったことしたいとき、シェルスクリプトじゃなくてもいいよ
                • シェルスクリプトでSMTPメール送信を自動化してみた | SendGridブログ

                  はじめに はじめまして。昨年の8月にSendGridチームに配属された、新人の兼子です。ITやメールに関する知識を身につけるため、現在基礎から勉強中です! メールについては、基本的な仕組みについて学ぶだけではなく、実際にTwilio SendGridからSMTPやマーケティングキャンペーン機能でメール送信することでさらに理解を深めるようにしています。そうした中で、最近学んだシェルスクリプトを使うと、SMTPでのメール送信を効率よく行えるのではないかと考えました。そこで今回は、シンプルなメールをシェルスクリプトを使って送る方法を紹介します! SMTPで送信する SendGridのドキュメントでは、telnetコマンドでSMTPサーバに接続し、SMTPコマンドを使ってメール送信を行う方法が紹介されています。具体的には、SMTPサーバへの接続後、認証を行い、送信者や受信者、メール本文を指定すると

                    シェルスクリプトでSMTPメール送信を自動化してみた | SendGridブログ
                  • シェルスクリプト&PowerShell - Qiita Advent Calendar 2024 - Qiita

                      シェルスクリプト&PowerShell - Qiita Advent Calendar 2024 - Qiita
                    1