並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 20 件 / 20件

新着順 人気順

shellcheckの検索結果1 - 20 件 / 20件

  • シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題 - Qiita

    シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題ShellScriptUNIXshellシェル芸POSIX はじめに シェルスクリプトで ls コマンドの出力結果(ファイル名一覧)をパイプで他のコマンドに渡して処理するのは推奨されません。ls コマンドを使ったコードを ShellCheck で検査するとおそらく問題があると警告が表示されるでしょう。ls を使うなという指摘自体には賛成なのですが SC2010、SC2011、SC2012 に書いてある理由については正しい説明がされていないと思っています。この記事ではなぜ ls の出力結果を他のコマンドにパイプで渡すのが悪いのか、ls を使わずに実現するにはどうしたら良いのかを解説したいと思います。一つ補足をしておくと、この問題は CLI コマ

      シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題 - Qiita
    • ShellCheckでシェルスクリプトの品質を高めよう | フューチャー技術ブログ

      HansによるPixabayからの画像 シェルスクリプト連載の第1弾です。 シェルスクリプトは強力かつ便利で、いろいろなところで使われています。ただ、自由度が高い一方で、ちょっとしたミスを犯しやすく、かつミスに気づきにくい、ということも多いです。また、ミスに気づいたときには大きな影響が及んでいる、ということもあるでしょう。 本記事では、シェルスクリプトの品質を高めるために ShellCheck というツールを使って、シェルスクリプトの品質や安全性を高めよう、という趣旨の記事です。 <img src=”https://github.com/koalaman/shellcheck" alt="koalaman/shellcheck - GitHub“ loading=”lazy”> ShellCheck を使うと何がうれしいの?ShellCheck はシェルスクリプトのための静的解析ツールです

        ShellCheckでシェルスクリプトの品質を高めよう | フューチャー技術ブログ
      • Lessons learned from writing ShellCheck, GitHub’s now most starred Haskell project – Vidar's Blog

        ShellCheck is a static analysis tool that points out common problems and pitfalls in shell scripts. As of last weekend it appears to have become GitHub’s most starred Haskell repository, after a mention in MIT SIPB’s Writing Safe Shell Scripts guide. While obviously a frivolous metric in a niche category, I like to interpret this as meaning that people are finding ShellCheck as useful as I find Pa

        • ShellCheckを使おう!の話 - Mobile Factory Tech Blog

          駅メモ!チームエンジニアの id:Eadaeda です。 みなさんシェルスクリプト書いてますか?私は時々書いています。12/2 の記事ではシェルスクリプトのテストを書いてみませんかという話を書きました。 tech.mobilefactory.jp 今回はテストではなく、linter の話です。 シェルの文法はなかなか難しいです。例えばダブルクォートで括るかどうかなどです。 # スクリプト a.sh があるとして $ cat ./a.sh #!/bin/bash echo "[$1]" "[$2]" "[$3]" "[$4]" "[$5]" "[$6]" # 例:引数のコマンド置換をダブルクォートで括るかどうかで動作が変わる $ ./a.bash $(date) [Wed] [Nov] [30] [17:06:59] [JST] [2022] $ ./a.bash "$(date)" [We

            ShellCheckを使おう!の話 - Mobile Factory Tech Blog
          • ShellCheck - Visual Studio Marketplace

            Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter. ShellCheck for Visual Studio Code Integrates ShellCheck into VS Code, a linter for Shell scripts. Quick start Disclaimer This VS Code extension requires shellcheck (the awesome static analysis tool for shell scripts) to work, but precompiled shellcheck binaries are bundled in this extension for these platforms: Linux

              ShellCheck - Visual Studio Marketplace
            • VSCode 上でシェルスクリプトのまずい書き方を検出してみよう (with ShellCheck on Docker)

              UNIX/Linux での作業の効率化に欠かせないシェルスクリプトですが、手軽に書ける反面、様々な罠があることでも知られています。 そんな罠にはまらないよう、シェルスクリプトの解析ツール「ShellCheck」を使ってチェックしましょう、というお話です。 ShellCheck とは? 静的解析によりシェルスクリプトの問題点を分析し、より良い書き方を提案してくれる CLI の Linter ツールです。 構文の問題点やバグだけでなく、推奨されない書き方も教えてくれます。 シェルスクリプトの初心者・上級者に関わらず、入れておくだけで安心してスクリプトを書けるようになります。 ShellCheck がチェックしてくれること ShellCheck がチェックしてくれる内容は とても多岐に渡ります。例えば… クォーティング処理に関する指摘: ダブルクォーテーションで囲わずに変数展開している場合など。

                VSCode 上でシェルスクリプトのまずい書き方を検出してみよう (with ShellCheck on Docker)
              • Shell のコーディングに便利な shellcheck/shfmt の紹介|NAVITIME_Tech

                みなさんこんにちは、くるふとです。note 初投稿です。 ナビタイムジャパンでは、経路探索エンジンや時刻表データのリリースフロー改善を主に担当しています。 ​ 今回は Shell のコーディングに便利な shellcheck と shfmt をご紹介します。 Shellcheck について shellcheck は、バグの要因になり得る記述を検知し警告してくれる、Shell の Linter です。 なぜ Linter が必要なのか まずは、下記のシェルスクリプトをご覧ください。 #!/bin/bash set -euo pipefail # 受け取った引数を順番に出力する。 for v in $@; do echo "${v}" done受け取った引数を for 文で回し出力するという、よくあるようなスクリプトに見えます。しかし、このスクリプトは以下のような場合に意図したものとは違う挙動

                  Shell のコーディングに便利な shellcheck/shfmt の紹介|NAVITIME_Tech
                • ShellScriptでの事故防止としてShellCheckを適用してみた | DevelopersIO

                  Linterを用いてのチェックを行う場合、個人的に一番厄介なのはシェルスクリプト。いずれの環境でも問題なく動かせることを見送るとしても、それでもWarning表示がなかなか消えません。 ShellCheckを使った、OSX環境でのWarning対処として実践してみたことについて書いてみました。 ShellCheck環境の設定 ShellCheckを有効にしておきます。 brew install shellcheck この記事での実行は coc-diagnostic にて。 :CocInstall coc-diagnostic とあるスクリプトのWarning潰し よくあるシェルスクリプトもWarningの宝庫です。 #!/bin/sh CURRENT=$(cd $(dirname $0) && pwd) cd $CURRENT ポイントは一行に複数のWarning表示が含まれているところ。

                    ShellScriptでの事故防止としてShellCheckを適用してみた | DevelopersIO
                  • SC2181 · koalaman/shellcheck Wiki · GitHub

                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                      SC2181 · koalaman/shellcheck Wiki · GitHub
                    • GitHub Actions を用いて Pull-Request で shellcheck をする方法 - Qiita

                      はじめに (Ba)sh スクリプトを静的解析してくれる便利なツール shellcheck が、GitHub Actions 標準の実行環境 から使えるので Pull-Request に含まれた (Ba)sh を自動的にチェックをする ワークフローを書きました。 実行結果 ワークフローのサンプル 2022-10-25追記: checkout 時に fetch-depth: 0 オプションを使わない方法を思いついたので以下サンプルを更新しました。2 回 checkout している 理由は GitHub Actions を用いて Pull-Request で変更されたファイル一覧を取り出す方法 に詳細があります。 name: Static analysis on: pull_request: types: [opened, synchronize] paths: '**.sh' jobs: sh

                        GitHub Actions を用いて Pull-Request で shellcheck をする方法 - Qiita
                      • ShellCheckの警告を読んでみる - エキサイト TechBlog.

                        エキサイトの武藤です。 IntelliJ でシェルスクリプトを開くと、構文に警告を見かけることがあります。 IntelliJのシェルスクリプトの構文警告 SC2006 のリンクは下記のページに遷移します。 github.com ShellCheckは、シェルスクリプトの静的解析ツールです。 こちらにWikiが用意されており、具体的な問題とその理由、解決方法の説明があります。 今回は、その内容をいくつか紹介します。 ShellCheck とは 再度の説明になりますが、シェルスクリプトの静的解析ツールです。 シェルスクリプトの構文上の問題や意図しない挙動の可能性を警告してくれます。 github.com IntelliJの他にもVim、VSCode等の各種エディターからも利用できます。 警告の例 先程の警告が出たサンプルコードです。 get_day_of_week() { DAY_OF_WEE

                          ShellCheckの警告を読んでみる - エキサイト TechBlog.
                        • CircleCI Developer Hub - circleci/shellcheck

                          By submitting this form, you are agreeing to ourTerms of UseandPrivacy Policy.

                            CircleCI Developer Hub - circleci/shellcheck
                          • SC2162 · koalaman/shellcheck Wiki · GitHub

                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

                              SC2162 · koalaman/shellcheck Wiki · GitHub
                            • シェルスクリプトのコード品質保全にVSCodeとGitHubActionsにShellCheckを導入してみた!|SHIFT Group 技術ブログ

                              シェルスクリプトのコード品質保全にVSCodeとGitHubActionsにShellCheckを導入してみた! はじめにSHIFTで自動化アーキテクトをやっている片山 嘉誉です。 シェルスクリプトは、システム管理や自動化タスクにおいて重要な役割を果たします。しかし、そのコードが複雑になると、メンテナンスが困難になることがあります。 例えば、GitHub Actionsを使用してLinux上で自動化処理を行う場合、新しい実行環境を設定せずに標準で動作するシェルスクリプトが便利です。しかし、YAMLファイルにコードを直接記述すると、シェルスクリプトの静的解析ができなくなり、コードの保守が難しくなります。 そこで、シェルスクリプトを.shファイルに分離し、YAMLファイルからこれを呼び出す方法を推奨します。分離した.shファイルならば、ShellCheckを使用して静的解析を行うことができます

                                シェルスクリプトのコード品質保全にVSCodeとGitHubActionsにShellCheckを導入してみた!|SHIFT Group 技術ブログ
                              • pre-commitでShellCheckを使う

                                B! 0 0 0 0 0 Gitのcommit時などに自動でlinterなどを動かしてコードを直したり警告を出したりしてくれる pre-commitでシェルスクリプトの文法チェッカーである ShellCheckを使う方法について。 pre-commit ShellCheck pre-commitのSupported hooksに載っているもの jumanjihouse/pre-commit-hooks or syntaqx/git-hooks shellcheck-py shellcheck公式のpre-commit hook 直接自分でコマンドを走らせる まとめ pre-commit pre-commitはPython製のGit hookを使ってcommit時などにlinter等を実行するツールです。 Python製ですが他の言語の文法チェックなども行えます。 pipで $ pip in

                                  pre-commitでShellCheckを使う
                                • シェルスクリプトの静的解析ツール(shellcheck)をyum installまで - blog

                                  シェルスクリプトの静的解析したいなーってとき。 shellcheckっていうツールが便利だった。 github.com 「使われてない変数が定義されていますよ」とか「変数で$10は使えませんよ、正しくは${10}ですよ」みたいなお知らせをしてくれる。 インストールした環境情報 $ uname -a Linux localhost.localdomain 3.10.0-1062.el7.x86_64 #1 SMP Thu Jul 18 20:25:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.7 (Maipo) 手順 1.epelリポジトリをinstall sudo yum install -y https://dl.

                                    シェルスクリプトの静的解析ツール(shellcheck)をyum installまで - blog
                                  • shellcheck と shfmt を使ってシェルスクリプトをキレイにしてみる - michimani.net

                                    2020-12-24 シェルスクリプトをキレイにするためのツールとして shellcheck と shfmt というものの存在を教えてもらったので、先日作った ACM の Certificate 発行スクリプトに対してそれらを実行し、キレイにしていきたいと思います。 目次 概要 shellcheck shfmt shellcheck で文法チェック インストール 実行 shfmt でフォーマット インストール 実行 まとめ 概要 shellcheck と shfmt というツールを使って、シェルスクリプトをキレイにします。ここで言う キレイに とは、文法上の問題をなくしたり、想定外の実行結果にならないようにしたり、見た目を整えたりすることを指します。 今回使う shellcheck と sh というツールについても簡単に紹介しておきます。 shellcheck shellcheck (ko

                                      shellcheck と shfmt を使ってシェルスクリプトをキレイにしてみる - michimani.net
                                    • shellcheck と shfmt を使ってシェルスクリプトをキレイにしてみる - michimani.net

                                      2020-12-24 シェルスクリプトをキレイにするためのツールとして shellcheck と shfmt というものの存在を教えてもらったので、先日作った ACM の Certificate 発行スクリプトに対してそれらを実行し、キレイにしていきたいと思います。 目次 概要 shellcheck shfmt shellcheck で文法チェック インストール 実行 shfmt でフォーマット インストール 実行 まとめ 概要 shellcheck と shfmt というツールを使って、シェルスクリプトをキレイにします。ここで言う キレイに とは、文法上の問題をなくしたり、想定外の実行結果にならないようにしたり、見た目を整えたりすることを指します。 今回使う shellcheck と sh というツールについても簡単に紹介しておきます。 shellcheck shellcheck (ko

                                        shellcheck と shfmt を使ってシェルスクリプトをキレイにしてみる - michimani.net
                                      • ShellScriptでの事故防止としてShellCheckを適用してみた | DevelopersIO

                                        Linterを用いてのチェックを行う場合、個人的に一番厄介なのはシェルスクリプト。いずれの環境でも問題なく動かせることを見送るとしても、それでもWarning表示がなかなか消えません。 ShellCheckを使った、OSX環境でのWarning対処として実践してみたことについて書いてみました。 ShellCheck環境の設定 ShellCheckを有効にしておきます。 brew install shellcheck この記事での実行は coc-diagnostic にて。 :CocInstall coc-diagnostic とあるスクリプトのWarning潰し よくあるシェルスクリプトもWarningの宝庫です。 #!/bin/sh CURRENT=$(cd $(dirname $0) && pwd) cd $CURRENT ポイントは一行に複数のWarning表示が含まれているところ。

                                          ShellScriptでの事故防止としてShellCheckを適用してみた | DevelopersIO
                                        • 1ファイルのみで"cat ファイル名 | …"と書くのはShellCheck違反になるので代替案を考える

                                          TL;DR 警告に従いパイプで受けるコマンド <ファイル名とするのが最も無難。 内容 技術記事の多くで当たり前のようにcat file.txt | grep …といった形で1ファイルだけの中身を読み込んでパイプで渡すような書き方をよく見かけるが、ShellCheckを導入していると以下(SC2002)に違反しており警告となる。 Useless cat. Consider cmd < file | .. or cmd file | .. instead. なぜ警告となるかは速度の問題など上記ページのリンク先やこの番号で調べればいくらでも出てくるので割愛するが(Useless use of cat (UUOC))、そもそもcatコマンドは複数のファイルを結合することが役割なので、1ファイルだけの中身を加工すること自体が目的に沿っていない。 つまり機能仕様上は可能ではあるというだけなのだが、何故

                                            1ファイルのみで"cat ファイル名 | …"と書くのはShellCheck違反になるので代替案を考える
                                          1