Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

Bash スクリプトのマスター:Linux シェル自動化の初心者ガイド

Bash スクリプトのマスター:Linux シェル自動化の初心者ガイド

Linux では、プロセスの自動化はシェル スクリプトに大きく依存しています。これには、一緒に実行できる一連のコマンドを含むファイルの作成が含まれます。

この記事では、変数、コマンド、入出力、デバッグなどの bash スクリプトの基本から始めます。途中でそれぞれの例も見ていきます。

始めましょう。 🚀

目次

<オル>
  • 前提条件
  • はじめに
  • Bash スクリプトの定義
  • Bash スクリプトの利点
  • Bash シェルとコマンドライン インターフェースの概要
  • Bash スクリプトを始める方法
  • コマンドラインから Bash コマンドを実行する方法
  • Bash スクリプトを作成して実行する方法
  • Bash スクリプトの基本

  • bash スクリプトでのコメント

  • Bash の変数とデータ型
  • Bash スクリプトでの入出力
  • 基本的な Bash コマンド (echo、read など)
  • 条件文 (if/else)

  • Bash でのループと分岐

  • while ループ
  • For ループ
  • ケースステートメント
  • cron を使用してスクリプトをスケジュールする方法
  • Bash スクリプトのデバッグとトラブルシューティングを行う方法
  • 結論
  • Bash スクリプトについて詳しく学ぶためのリソース
  • 前提条件

    このチュートリアルを進めるには、次のアクセス権が必要です。

    • コマンドラインにアクセスできる Linux の実行バージョン

    Linux がインストールされていない場合、または Linux を始めたばかりの場合は、Replit を通じて Linux コマンド ラインに簡単にアクセスできます。 Replit はブラウザベースの IDE で、数分で bash シェルにアクセスできます。

    WSL (Windows Subsystem for Linux) を使用して、Windows システム上に Linux をインストールすることもできます。ここではそのためのチュートリアルを示します。

    はじめに

    Bash スクリプトの定義

    bash スクリプトは、bash プログラムによって 1 行ずつ実行される一連のコマンドを含むファイルです。コマンド ラインを使用して、特定のディレクトリへの移動、フォルダーの作成、プロセスの起動などの一連のアクションを実行できます。

    これらのコマンドをスクリプトに保存すると、同じ一連のステップを複数回繰り返し、スクリプトを実行して実行できます。

    Bash スクリプトの利点

    Bash スクリプトは、システム管理タスクの自動化、システム リソースの管理、および Unix/Linux システムでのその他の日常的なタスクの実行を行うための強力で多用途のツールです。シェル スクリプトの利点は次のとおりです。

    • 自動化 :シェル スクリプトを使用すると、反復的なタスクとプロセスを自動化できるため、時間を節約し、手動実行で発生する可能性のあるエラーのリスクを軽減できます。
    • 移植性 :シェル スクリプトは、エミュレータや仮想マシンを使用することで、Unix、Linux、macOS、さらには Windows などのさまざまなプラットフォームやオペレーティング システム上で実行できます。
    • 柔軟性 :シェル スクリプトは高度にカスタマイズ可能であり、特定の要件に合わせて簡単に変更できます。また、他のプログラミング言語やユーティリティと組み合わせて、より強力なスクリプトを作成することもできます。
    • アクセシビリティ :シェル スクリプトは簡単に作成でき、特別なツールやソフトウェアは必要ありません。これらは任意のテキスト エディタを使用して編集でき、ほとんどのオペレーティング システムにはシェル インタープリタが組み込まれています。
    • 統合 :シェル スクリプトは、データベース、ウェブサーバー、クラウド サービスなどの他のツールやアプリケーションと統合できるため、より複雑な自動化タスクやシステム管理タスクが可能になります。
    • デバッグ :シェル スクリプトはデバッグが簡単で、ほとんどのシェルには、問題を迅速に特定して修正するのに役立つデバッグ ツールとエラー報告ツールが組み込まれています。

    Bash シェルとコマンド ライン インターフェイスの概要

    「シェル」と「bash」という用語は同じ意味で使用されます。しかし、両者の間には微妙な違いがあります。

    「シェル」という用語は、オペレーティング システムと対話するためのコマンド ライン インターフェイスを提供するプログラムを指します。 Bash (Bourne-Again SHell) は、最も一般的に使用される Unix/Linux シェルの 1 つであり、多くの Linux ディストリビューションのデフォルト シェルです。

    シェルまたはコマンドライン インターフェイスは次のようになります。

    Bash スクリプトのマスター:Linux シェル自動化の初心者ガイド シェルはユーザーからのコマンドを受け入れ、出力を表示します

    上記の出力では、zaira@Zaira シェルプロンプトです。シェルを対話的に使用すると、$ が表示されます。 ユーザーからのコマンドを待っているとき。

    シェルが root (管理者権限を持つユーザー) として実行されている場合、プロンプトは # に変更されます。 。スーパーユーザーのシェル プロンプトは次のようになります。

    [root@host ~]#
    

    Bash はシェルの一種ですが、Korn シェル (ksh)、C シェル (csh)、Z シェル (zsh) など、他のシェルも使用できます。各シェルには独自の構文と一連の機能がありますが、オペレーティング システムと対話するためのコマンドライン インターフェイスを提供するという共通の目的はすべて共有されています。

    ps を使用してシェルのタイプを決定できます。 コマンド:

    ps
    

    私にとっての出力は次のとおりです。

    Bash スクリプトのマスター:Linux シェル自動化の初心者ガイド シェルの種類を確認しています。 bash シェルを使用しています。

    要約すると、「シェル」はコマンドライン インターフェースを提供するプログラムを指す広義の用語ですが、「Bash」は Unix/Linux システムで広く使用されている特定の種類のシェルです。

    注:このチュートリアルでは、「bash」シェルを使用します。

    Bash スクリプトを始める方法

    コマンドラインからの Bash コマンドの実行

    前述したように、シェル プロンプトは次のようになります。

    [username@host ~]$
    

    $ の後に任意のコマンドを入力できます。 署名して、ターミナル上の出力を確認します。

    通常、コマンドは次の構文に従います。

    command [OPTIONS] arguments
    

    いくつかの基本的な bash コマンドについて説明し、その出力を見てみましょう。必ず従ってください:)

    • date :現在の日付を表示します
    zaira@Zaira:~/shell-tutorial$ date
    Tue Mar 14 13:08:57 PKT 2023
    
    • pwd :現在の作業ディレクトリを表示します。
    zaira@Zaira:~/shell-tutorial$ pwd
    /home/zaira/shell-tutorial
    
    • ls :現在のディレクトリの内容をリストします。
    zaira@Zaira:~/shell-tutorial$ ls
    check_plaindrome.sh count_odd.sh env log temp
    
    • echo :テキスト文字列または変数の値を端末に出力します。
    zaira@Zaira:~/shell-tutorial$ echo "Hello bash"
    Hello bash
    

    man を使用すると、いつでもコマンド マニュアルを参照できます。 コマンド。

    たとえば、ls のマニュアル 次のようになります:

    Bash スクリプトのマスター:Linux シェル自動化の初心者ガイド man を使用すると、コマンドのオプションの詳細を確認できます。

    Bash スクリプトを作成して実行する方法

    スクリプトの命名規則

    命名規則により、bash スクリプトは .sh で終わります。 。ただし、bash スクリプトは sh がなくても完全に正常に実行できます。 拡張子。

    シバンを追加する

    Bash スクリプトは shebang で始まります 。シバンは bash # の組み合わせです。 と bang ! bash シェルのパスが続きます。これはスクリプトの最初の行です。 Shebang はシェルに bash シェル経由で実行するように指示します。 Shebang は単に bash インタープリタへの絶対パスです。

    以下はシバン ステートメントの例です。

    #!/bin/bash
    

    次のコマンドを使用して、bash シェル パス (上記とは異なる場合があります) を見つけることができます。

    which bash
    

    最初の bash スクリプトの作成

    最初のスクリプトでは、ユーザーにパスの入力を求めます。代わりに、その内容がリストされます。

    run_all.sh という名前のファイルを作成します。 vi を使用する コマンド。任意のエディターを使用できます。

    vi run_all.sh
    

    次のコマンドをファイルに追加して保存します。

    #!/bin/bash
    echo "Today is " `date`
    echo -e "\nenter the path to directory"
    read the_path
    echo -e "\n you path has the following files and folders: "
    ls $the_path
    

    スクリプトを 1 行ずつ詳しく見てみましょう。同じスクリプトを再度表示しますが、今回は行番号が付けられています。

     1 #!/bin/bash
     2 echo "Today is " `date`
     3
     4 echo -e "\nenter the path to directory"
     5 read the_path
     6
     7 echo -e "\n you path has the following files and folders: "
     8 ls $the_path
    
    • 行 1:シバン (#!/bin/bash) ) は bash シェル パスを指します。
    • 行 2:echo コマンドはターミナルに現在の日付と時刻を表示しています。 date に注意してください。 はバッククォートです。
    • 行 #4:ユーザーに有効なパスを入力してもらいます。
    • 行 #5:read コマンドは入力を読み取り、変数 the_path に保存します。 .
    • 8 行目:ls コマンドは保存されたパスを持つ変数を取得し、現在のファイルとフォルダーを表示します。

    bash スクリプトの実行

    スクリプトを実行可能にするには、次のコマンドを使用してユーザーに実行権限を割り当てます。

    chmod u+x run_all.sh
    

    ここで、

    • chmod 現在のユーザーのファイルの所有権を変更します:u .
    • +x 現在のユーザーに実行権限を追加します。これは、所有者であるユーザーがスクリプトを実行できることを意味します。
    • run_all.sh は実行したいファイルです。

    前述の方法のいずれかを使用してスクリプトを実行できます。

    • sh run_all.sh
    • bash run_all.sh
    • ./run_all.sh

    実際の動作を見てみましょう 🚀

    Bash スクリプトのマスター:Linux シェル自動化の初心者ガイド

    Bash スクリプトの基本

    コメントは # で始まります bash スクリプトで。これは、# で始まる行はすべて、 はコメントなので、インタプリタによって無視されます。

    コメントはコードを文書化するのに非常に役立ち、他の人がコードを理解できるようにコメントを追加することをお勧めします。

    以下はコメントの例です:

    # This is an example comment
    # Both of these lines will be ignored by the interpreter
    

    Bash の変数とデータ型

    変数を使用すると、データを保存できます。変数を使用すると、スクリプト全体でデータの読み取り、アクセス、操作を行うことができます。

    Bash にはデータ型がありません。 Bash では、変数は数値、個々の文字、または文字列を格納できます。

    Bash では、次の方法で変数値を使用および設定できます。

    <オル>
  • 値を直接割り当てます:
  • country=Pakistan
    
    <オル>
  • コマンド置換を使用して、プログラムまたはコマンドから取得した出力に基づいて値を割り当てます。 $ に注意してください。 既存の変数の値にアクセスするには必要です。
  • same_country=$country
    

    変数値にアクセスするには、$ を追加します。

    zaira@Zaira:~$ country=Pakistan
    zaira@Zaira:~$ echo $country
    Pakistan
    zaira@Zaira:~$ new_country=$country
    zaira@Zaira:~$ echo $new_country
    Pakistan
    

    変数の命名規則

    Bash スクリプトでは、変数の命名規則は次のとおりです。

    <オル>
  • 変数名は文字またはアンダースコア (_) で始める必要があります。 ).
  • 変数名には文字、数字、アンダースコア (_) を含めることができます。 ).
  • 変数名では大文字と小文字が区別されます。
  • 変数名にはスペースや特殊文字を含めないでください。
  • 変数の目的を反映したわかりやすい名前を使用します。
  • if などの予約済みキーワードの使用は避けてください。 、thenelsefi 、などを変数名として使用します。
  • Bash で有効な変数名の例をいくつか示します。

    name
    count
    _var
    myVar
    MY_VAR
    

    無効な変数名の例をいくつか示します。

    2ndvar (variable name starts with a number)
    my var (variable name contains a space)
    my-var (variable name contains a hyphen)
    

    これらの命名規則に従うと、Bash スクリプトが読みやすくなり、保守が容易になります。

    Bash スクリプトでの入力と出力

    インプットの収集

    このセクションでは、スクリプトに入力を提供するいくつかの方法について説明します。

    <オル>
  • ユーザー入力を読み取り、変数に保存する
  • read を使用してユーザー入力を読み取ることができます。 コマンド。

    #!/bin/bash 
    echo "What's your name?" 
    read entered_name 
    echo -e "\nWelcome to bash tutorial" $entered_name
    

    Bash スクリプトのマスター:Linux シェル自動化の初心者ガイド

    <オル>
  • ファイルからの読み取り
  • このコードは、input.txt という名前のファイルから各行を読み取ります。 そしてそれを端末に出力します。 while ループについては、この記事の後半で学習します。

    while read line
    do
     echo $line
    done < input.txt
    
    <オル>
  • コマンドライン引数
  • bash スクリプトまたは関数では、$1 渡される最初の引数、$2 を示します。 は、渡された 2 番目の引数を示します。

    このスクリプトはコマンドライン引数として名前を受け取り、パーソナライズされた挨拶を出力します。

    echo "Hello, $1!"
    

    Zaira を提供しました

    #!/bin/bash
    echo "Hello, $1!"
    

    出力:

    Bash スクリプトのマスター:Linux シェル自動化の初心者ガイド

    出力の表示

    ここでは、スクリプトから出力を受け取るいくつかの方法について説明します。

    <オル>
  • 端末への印刷:
  • echo "Hello, World!"
    

    これにより、「Hello, World!」というテキストが出力されます。

    <オル>
  • ファイルへの書き込み:
  • echo "This is some text." > output.txt
    

    これにより、「これはテキストです」というテキストが書き込まれます。 output.txt という名前のファイルに 。 > に注意してください。 ファイルに既にコンテンツがある場合、オペレーターはファイルを上書きします。

    <オル>
  • ファイルへの追加:
  • echo "More text." >> output.txt
    

    これにより、「その他のテキスト」というテキストが追加されます。ファイルの最後まで output.txt .

    <オル>
  • 出力のリダイレクト:
  • ls > files.txt
    

    これにより、現在のディレクトリ内のファイルがリストされ、出力が files.txt という名前のファイルに書き込まれます。 。この方法で、任意のコマンドの出力をファイルにリダイレクトできます。

    基本的な Bash コマンド (echo、read など)

    以下は、最も一般的に使用される bash コマンドのリストです。

    <オル>
  • cd :ディレクトリを別の場所に変更します。
  • ls :現在のディレクトリの内容を一覧表示します。
  • mkdir :新しいディレクトリを作成します。
  • touch :新しいファイルを作成します。
  • rm :ファイルまたはディレクトリを削除します。
  • cp :ファイルまたはディレクトリをコピーします。
  • mv :ファイルまたはディレクトリを移動または名前変更します。
  • echo :端末にテキストを出力します。
  • cat :ファイルの内容を連結して出力します。
  • grep :ファイル内のパターンを検索します。
  • chmod :ファイルまたはディレクトリの権限を変更します。
  • sudo :管理者権限でコマンドを実行します。
  • df :利用可能なディスク容量を表示します。
  • history :以前に実行したコマンドのリストを表示します。
  • ps :実行中のプロセスに関する情報を表示します。
  • 条件文 (if/else)

    true または false のブール結果を生成する式は、条件と呼ばれます。条件を評価するには、if などのいくつかの方法があります。 、if-elseif-elif-else 、ネストされた条件文。

    構文 :

    if [[ condition ]];
    then
     statement
    elif [[ condition ]]; then
     statement 
    else
     do this by default
    fi
    

    AND -a などの論理演算子を使用できます。 および OR -o より重要な比較を行うため。

    if [ $a -gt 60 -a $b -lt 100 ]
    

    if を使用する Bash スクリプトの例を見てみましょう。 、if-elseif-elif-else ユーザーが入力した数値が正、負、またはゼロであるかどうかを判断するステートメント:

    #!/bin/bash
    echo "Please enter a number: "
    read num
    if [ $num -gt 0 ]; then
     echo "$num is positive"
    elif [ $num -lt 0 ]; then
     echo "$num is negative"
    else
     echo "$num is zero"
    fi
    

    スクリプトは最初にユーザーに数値の入力を求めます。次に、if を使用します。 ステートメントを使用して、数値が 0 より大きいかどうかを確認します。0 より大きい場合、スクリプトは数値が正であることを出力します。数値が 0 以下の場合、スクリプトは次のステートメント (if-elif) に進みます。 声明。ここで、スクリプトは数値が 0 より小さいかどうかをチェックします。0 より小さい場合、スクリプトは数値が負であることを出力します。最後に、数値が 0 より大きくも 0 未満でもない場合、スクリプトは else を使用します。 数値がゼロであることを出力するステートメント。

    実際の動作を見てみましょう 🚀

    Bash スクリプトのマスター:Linux シェル自動化の初心者ガイド

    Bash でのループと分岐

    while ループ

    While ループは条件をチェックし、条件が true のままになるまでループします。 。ループの実行を制御するには、カウンターをインクリメントするカウンター ステートメントを提供する必要があります。

    以下の例では、(( i += 1 )) i の値をインクリメントするカウンター ステートメントです。 。ループはちょうど 10 回実行されます。

    #!/bin/bash
    i=1
    while [[ $i -le 10 ]] ; do
     echo "$i"
     (( i += 1 ))
    done
    

    Bash スクリプトのマスター:Linux シェル自動化の初心者ガイド

    For ループ

    for while と同じようにループします。 ループを使用すると、ステートメントを特定の回数だけ実行できます。各ループは構文と使用法が異なります。

    以下の例では、ループは 5 回繰り返されます。

    #!/bin/bash
    for i in {1..5}
    do
     echo $i
    done
    

    Bash スクリプトのマスター:Linux シェル自動化の初心者ガイド

    ケースステートメント

    Bash では、case ステートメントを使用して、指定された値をパターンのリストと比較し、最初に一致したパターンに基づいてコードのブロックを実行します。 Bash の case ステートメントの構文は次のとおりです。

    case expression in
     pattern1)
     # code to execute if expression matches pattern1
     ;;
     pattern2)
     # code to execute if expression matches pattern2
     ;;
     pattern3)
     # code to execute if expression matches pattern3
     ;;
     *)
     # code to execute if none of the above patterns match expression
     ;;
    esac
    

    ここで、「expression」は比較する値であり、「pattern1」、「pattern2」、「pattern3」などは比較するパターンです。

    二重セミコロン「;;」パターンごとに実行するコードの各ブロックを分離します。アスタリスク「*」はデフォルトのケースを表し、指定されたパターンがいずれも式に一致しない場合に実行されます。

    例を見てみましょう。

    fruit="apple"
    case $fruit in
     "apple")
     echo "This is a red fruit."
     ;;
     "banana")
     echo "This is a yellow fruit."
     ;;
     "orange")
     echo "This is an orange fruit."
     ;;
     *)
     echo "Unknown fruit."
     ;;
    esac
    

    この例では、「fruit」の値が「apple」であるため、最初のパターンが一致し、「これは赤い果物です」というコード ブロックがエコーされます。が実行されます。 「fruit」の値が「banana」の場合、2 番目のパターンが一致し、「これは黄色い果物です」をエコーするコード ブロックになります。などを実行します。 「fruit」の値が指定されたパターンのいずれにも一致しない場合は、デフォルトのケースが実行され、「Unknown Fruit」がエコーされます。

    cron を使用してスクリプトをスケジュールする方法

    Cron は、Unix 系オペレーティング システムで利用できるジョブ スケジューリング用の強力なユーティリティです。 cron を構成すると、毎日、毎週、毎月、または特定の時間ベースで実行する自動ジョブを設定できます。 cron によって提供される自動化機能は、Linux システム管理において重要な役割を果たします。

    以下は cron をスケジュールするための構文です。

    # Cron job example
    * * * * * sh /path/to/script.sh
    

    ここでは、* s はそれぞれ、分、時間、日、月、平日を表します。

    以下に、cron ジョブのスケジュール設定の例をいくつか示します。

    スケジュール 説明 例 0 0 毎日午前 0 時にスクリプトを実行します0 0 /path/to/script.sh /5 5 分ごとにスクリプトを実行/5 /path/to/script.sh 0 6 1-5 月曜日から金曜日の午前 6 時にスクリプトを実行します0 6 1-5 /path/to/script.sh 0 0 1-7 毎月最初の 7 日にスクリプトを実行します0 0 1-7 /path/to/script.sh 0 12 1 毎月 1 日の正午にスクリプトを実行します0 12 1 /path/to/script.sh

    crontab の使用

    crontab ユーティリティは、cron ジョブの追加と編集に使用されます。

    crontab -l 特定のユーザーに対してすでにスケジュールされているスクリプトをリストします。

    crontab -e を通じて cron を追加および編集できます。 .

    トウモロコシの仕事について詳しくは、こちらの私の他の記事をご覧ください。

    Bash スクリプトのデバッグとトラブルシューティングを行う方法

    デバッグとトラブルシューティングは、Bash スクリプターにとって不可欠なスキルです。 Bash スクリプトは非常に強力である一方で、エラーや予期しない動作が発生しやすい場合もあります。このセクションでは、Bash スクリプトのデバッグとトラブルシューティングに関するいくつかのヒントとテクニックについて説明します。

    set -x を設定します オプション

    Bash スクリプトのデバッグに最も役立つテクニックの 1 つは、set -x を設定することです。 スクリプトの先頭にあるオプション。このオプションはデバッグ モードを有効にし、Bash が実行する各コマンドをターミナルに出力し、先頭に + を付けます。 サイン。これは、スクリプト内でエラーが発生している場所を特定するのに非常に役立ちます。

    #!/bin/bash
    set -x
    # Your script goes here
    

    終了コードを確認する

    Bash でエラーが発生すると、エラーの性質を示す終了コードが設定されます。 $? を使用して、最新のコマンドの終了コードを確認できます。 変数。 0 の値 は成功を示し、その他の値はエラーを示します。

    #!/bin/bash
    # Your script goes here
    if [ $? -ne 0 ]; then
     echo "Error occurred."
    fi
    

    echo を使用します ステートメント

    Bash スクリプトのデバッグに役立つもう 1 つのテクニックは、echo を挿入することです。 コード全体にステートメントを含めます。これは、どこでエラーが発生しているか、どの値が変数に渡されているかを特定するのに役立ちます。

    #!/bin/bash
    # Your script goes here
    echo "Value of variable x is: $x"
    # More code goes here
    

    set -e を使用します オプション

    スクリプト内のコマンドが失敗したときにスクリプトをすぐに終了したい場合は、set -e を使用できます。 オプション。このオプションを選択すると、スクリプト内のコマンドが失敗した場合に Bash がエラーで終了するため、スクリプト内のエラーを特定して修正することが容易になります。

    #!/bin/bash
    set -e
    # Your script goes here
    

    ログを確認して cron をトラブルシューティングする

    ログ ファイルを使用して cron のトラブルシューティングを行うことができます。スケジュールされたすべてのジョブのログが維持されます。特定のジョブが意図したとおりに実行されたかどうかをログで確認および検証できます。

    Ubuntu/Debian の場合、cron が見つかります。 ログの場所:

    /var/log/syslog
    

    他のディストリビューションでは場所が異なります。

    cron ジョブのログ ファイルは次のようになります。

    2022-03-11 00:00:01 Task started
    2022-03-11 00:00:02 Running script /path/to/script.sh
    2022-03-11 00:00:03 Script completed successfully
    2022-03-11 00:05:01 Task started
    2022-03-11 00:05:02 Running script /path/to/script.sh
    2022-03-11 00:05:03 Error: unable to connect to database
    2022-03-11 00:05:03 Script exited with error code 1
    2022-03-11 00:10:01 Task started
    2022-03-11 00:10:02 Running script /path/to/script.sh
    2022-03-11 00:10:03 Script completed successfully
    

    結論

    この記事では、ターミナルにアクセスする方法から始めて、いくつかの基本的な bash コマンドを実行しました。また、bash シェルとは何かについても学びました。ループと条件を使用したコードの分岐について簡単に説明しました。最後に、cron を使用したスクリプトの自動化と、その後のいくつかのトラブルシューティング手法について説明しました。

    Bash スクリプトについて詳しく学ぶためのリソース

    bash スクリプトの世界をさらに深く掘り下げたい場合は、freeCodeCamp の Linux に関する 6 時間のコースを受講することをお勧めします。

    このチュートリアルで学んだ中で一番気に入っていることは何ですか?これらのプラットフォームのいずれかで私とつながることもできます。 📧

    次のチュートリアルでお会いしましょう。コーディングを楽しんでください 😁

    バナー画像のクレジット:Freepik による画像

    無料でコーディングを学びましょう。 freeCodeCamp のオープンソース カリキュラムは、40,000 人以上の人々が開発者としての職に就くのに役立ちました。始めましょう


    1. マインスイーパを構築して高度なBashスキルを磨く

      私はプログラミングを教える専門家ではありませんが、何かを上手に使いたいときは、それを楽しむ方法を見つけようとしています。たとえば、シェルスクリプトを上手に使いたいと思ったとき、Bashでマインスイーパゲームのバージョンをプログラミングして練習することにしました。 経験豊富なBashプログラマーで、楽しみながらスキルを磨きたい場合は、ターミナルで独自のバージョンのマインスイーパを作成してください。完全なソースコードは、このGitHubリポジトリにあります。 準備中 コードを書き始める前に、ゲームを作成するために必要な要素の概要を説明しました。 地雷原を印刷する ゲームプレイロジックを作成す

    2. マスター Linux:詳細な CPU 情報を取得するための 9 つの必須コマンド

      前回の記事では、Linux でシステムおよびハードウェアの情報を収集するための 10 個の便利なコマンドのリストをまとめました。このガイドでは、CPU/プロセッサーに絞り込み、マシンの CPU に関する詳細情報を抽出するさまざまな方法を示します。 概要を説明すると、CPU アーキテクチャ、vendor_id、モデル、モデル名、CPU コアの数、各コアの速度などの情報をクエリします。 基本的に、/proc/cpuinfo このすべての情報が含まれており、他のすべてのコマンド/ユーティリティはこのファイルから出力を取得します。 ということで、Linux CPU に関する情報を取得するための