ShellCheckを使用してLinuxBashスクリプトをデバッグする方法

ShellCheckを使用してLinuxBashスクリプトをデバッグする方法

Linux PC用に作成したBashスクリプトに問題がありますか?StackExchangeで数え切れないほどのスレッドを調べてプログラミングのヘルプを探す代わりに、ShellCheckツールを使用してLinux Bashスクリプトをデバッグし、コードの間違いを自動的に見つけることを検討してください。

ShellCheckを入手する

ShellCheckは便利なツールですが、Linuxオペレーティングシステムにすぐに付属しているわけではありません。代わりに、それを使用したい場合は、最初にインストールする必要があります。このチュートリアルでは、さまざまな公式ソフトウェアソースからShellCheckをインストールする方法について説明します。また、汎用Linuxバイナリを介してプログラムを動作させる方法も示します。

ターミナルウィンドウを開き、パッケージを更新します。次に、Linuxオペレーティングシステムに対応する手順に従います。

Ubuntu

ShellCheckは公式のUbuntuソフトウェアソースに含まれているため、インストールは非常に簡単です。ターミナルで、Aptパッケージマネージャーを使用して、最新バージョンのShellCheckを機能させます。

sudo apt install shellcheck

Debian

Debian Stableには、ユーザーがインストールできる古いバージョンのShellCheckがあります。このバージョンは、Debianがどのように動作するかにより、制限されていることに注意してください。

注:ShellCheckプログラムの新しいバージョンが必要ですか?ガイドに従って、Debianで最新のソフトウェアを入手する方法を学びましょう

sudo apt-get install shellcheck

Arch Linux

Arch LinuxでShellCheckを入手するには、最初に「コミュニティ」ソフトウェアリポジトリを有効にする必要があります。「コミュニティ」を有効にするには、Pacman.confファイルを編集する必要があります。ファイルを編集するには、NanoでPacman.confを開きます。

sudo nano /etc/pacman.conf

(矢印キーを使用して)スクロールし、ファイルの「コミュニティ」セクションを見つけます。#記号のすべてのインスタンスを削除します(約3行)。次に、Ctrl + Oボタンを押して編集内容を保存します。

Pacman.confの新しい編集が処理されたら、Ctrl + Xを押してNanoを閉じます。次に、Pacmanを再同期して、ArchLinuxの「コミュニティ」リポジトリへのアクセスを設定します。

sudo pacman -Syyuu

最後に、ShellCheckをArchLinuxにインストールします。

sudo pacman-Sシェルチェック

Fedora

Fedora LinuxでShellCheckスクリプト分析ツールを入手するには、ターミナルを開いてDNFパッケージ管理ツールを使用します。

sudo dnf install ShellCheck

OpenSUSE

ShellCheckをOpenSUSEにインストールする場合、ディストリビューションの主要なソフトウェアソースにあるため、特別な手順は必要ありません。取得するには、ターミナルウィンドウで次のZypperパッケージコマンドを入力します。

sudo zypper install ShellCheck

汎用Linux

ShellCheckスクリプト分析ツールへのアクセスを希望するあまり知られていないLinuxディストリビューションのユーザーは、ユニバーサルバイナリリリースをインストールする必要があります。幸い、このバイナリリリースはインストールが簡単で、ソースコードをいじくり回す必要はありません。それを機能させるには、以下の手順に従ってください!

ステップ1:  ダウンロードしようとしているShellCheckのバージョンをターミナル環境にエクスポートします。

export scversion = " stable " #または "v0.4.7"、または "latest"

ステップ2:wgetダウンロードツールを使用して、最新のShellCheckバイナリリリースを入手します。

wget " https://storage.googleapis.com/shellcheck/shellcheck- $ { scversion } .linux.x86_64.tar.xz "

ステップ3:tar コマンドを使用してShellCheckTarXZアーカイブを抽出し ます。

tar --xz -xvf shellcheck- " $ { scversion } " .linux.x86_64.tar.xz

ステップ4:cpコマンドを使用してShellCheckをLinuxPCにインストールします。

cp shellcheck- " $ { scversion } " / shellcheck / usr / bin /

ShellCheckを使用してスクリプトをデバッグする

ShellCheckの主な目的は、スクリプト(通常はBash)を調べ、誤用されたコマンドを検出し、修正を提供することです。基本的な使用法については、次のようにします。

まず、チェックしたいスクリプトがLinuxPC上にある場所にCDを挿入します。このチュートリアルでは、スクリプトは〜/ shell-scriptsにあります。あなたのものは異なるかもしれません。

cd〜 / shell-scripts

lsコマンドを実行して、現在のディレクトリ内のすべてのファイルを表示します。

注:複数のファイルタイプのディレクトリでShellCheckを使用する場合は、grep と ls を組み合わせることをお勧めし ます。これらの2つのコマンドを一緒に使用すると、すべての非スクリプトファイルを除外できます。

ls

または、grepと組み合わせて、スクリプトファイルのみを表示します。

ls | grep ".sh"
ls | grep ".bash"

lsプロンプトでスクリプトファイルの名前を見つけ、マウスでファイル名を強調表示します。準備ができたら、ShellCheckを実行して、コードを確認します。

ShellCheckを使用してLinuxBashスクリプトをデバッグする方法

shellcheck name-of-file.sh

また

shellcheck name-of-file.bash

ShellCheckを使用してLinuxBashスクリプトをデバッグする方法

shellcheckコマンドが実行された直後に、コードの問題が検出され、ターミナルプロンプトに表示されます。それがあなたに与える提案に従うことによってあなたのプログラミングを改善する方法を読み通して学びなさい。

ShellCheckレポートをファイルに保存

bashプログラミングのインスタントレポートをターミナルで取得することは非常に便利ですが、ターミナルを閉じるとレポートが失われる可能性があります。シェルチェックレポートの損失を回避するには、ターミナルの>>機能と組み合わせてプログラムを実行し、出力をテキストファイルに保存することをお勧めします。

shellcheck name-of-file.sh >>〜/ Documents / shellcheck-report-name-of-file.sh

また

shellcheck name-of-file.bash >>〜/ Documents / shellcheck-report-name-of-file.bash

catコマンドを使用して、ターミナルに保存されたレポートを表示します。

ShellCheckを使用してLinuxBashスクリプトをデバッグする方法

cat〜 / Documents / shellcheck-report-name-of-file.sh | もっと

また

cat〜 / Documents / shellcheck-report-name-of-file.bash | もっと


UbuntuサーバーにGitLabをインストールする方法

UbuntuサーバーにGitLabをインストールする方法

GitLab を Ubuntu サーバー上で動作させたいと考えていますか? GitLab は、GitHub のようなサービスに代わる、強力な自己ホスト可能な代替サービスです。これを使用すると、次のことができます

SELinux による Ubuntu Linux サーバーの保護

SELinux による Ubuntu Linux サーバーの保護

SELinux をインストールしてアクティブ化することで、Ubuntu Linux サーバーにセキュリティを追加する方法を学びます。

Cockpit を使用して Linux サーバー上で NFS を構成する

Cockpit を使用して Linux サーバー上で NFS を構成する

Linux サーバーに NFS 共有をマウントする簡単な方法が必要ですか? Cockpit アプリを使用して NFS 共有をマウントする方法を学びます。

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 の長期サポートが登場しました! デスクトップまたはラップトップを最新の Ubuntu リリースにアップグレードする方法を学びます。

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

Dockerコンテナにファイルを転送する方法

Dockerコンテナにファイルを転送する方法

ファイルを Docker コンテナに転送する必要がありますか? Docker cp ツールを使用すると、コンテナーとの間でファイルを簡単に移動できます。

Linux に DEB ファイルをインストールする方法

Linux に DEB ファイルをインストールする方法

.DEB ファイルとは何ですか? それを使って何をしますか?Linux PC に DEB ファイルをインストールするさまざまな方法を学びましょう。

GOG Galaxy を Linux 上で動作させる方法

GOG Galaxy を Linux 上で動作させる方法

GOG.com のゲームを所有していますか? ビデオ ゲームを楽しむために Linux PC に GOG Galaxy クライアントをセットアップしたいですか? このガイドに従ってください。

CentOS に Docker エンジンをインストールする方法

CentOS に Docker エンジンをインストールする方法

Docker Engine は、Linux およびその他のプラットフォーム用のオープン コンテナ化プログラムです。Docker Engine は、次のように動作する自己完結型コンテナを管理します。

Ferdi とすべてのチャットを 1 つにまとめる方法

Ferdi とすべてのチャットを 1 つにまとめる方法

Slack、Discord、その他多くの生産性向上ツールを Linux システムにインストールすることにうんざりしていませんか? それらをすべて 1 つに結合できたらいいのにと思いますか