1. ホーム
  2. スクリプト・コラム
  3. その他

linux シェル学習ノート 2日目

2022-01-09 21:56:07

変数

  1. ローカルホスト名の取得
    /

    #ホスト名

  2. このシステムのバージョン番号を取得する

    #uname -r

  3. CPUの種類を取得
  4. cpuの動作周波数を取得する

    猫 /proc

  5. メモリ使用量の取得

    #フリー -m

  6. ハードディスク使用量の取得
    /{br

    #df

変数の種類と変数操作

  1. ローカル変数(一般的に言われるもの)

    ローカル変数はユーザーの現在のシェルにのみ存在し、ユーザーが現在のシェルを終了するか、新しいシェルを開くと、設定された変数は存在しません。
    /

    セット変数

    #変数名 = 変数値

    変数を表示

    #echo ${変数名}.

    a=1表示とすると、echo ${a}。

  2. 環境変数(使用頻度は極めて低い)

    環境変数は、すべてのユーザープロセス(しばしば子プロセスと呼ばれます)に使用されます。ログインプロセスを親プロセスと呼び、シェルで実行されるすべてのユーザプロセスを子プロセスと呼びます。ローカル変数と異なり、環境変数はエディタ、スクリプト、アプリケーションを含むすべての子プロセスに使用することができます。
    /

    環境変数はユーザがログアウトすると消えてしまうので、 $HOME/.bash_profile (/etc/profile) ファイルで直接定義するのがベストです。

  3. ポジション変数(スクリプトや関数に非常に関連性の高いものです)

    ポジション変数は$0,$1... ...$9 (9のみ)を示します。

    {テーブル {コルグループ 本文

    $0

    $1

    $2

    $3

    {を使用します。

    $4

    {を使用します。

    $5

    $6

    {を使用します。

    $7

    {を使用します。

    $8

    {を使用します。

    $9

    スクリプト名

    A

    B

    C

    D

    E

    F

    {を使用します。

    G

    H

    I

    0=現在のスクリプト名

    スクリプトのpositionパラメータを使用する

    システムコマンドにパラメータを渡す

  4. 特殊変数

    $# スクリプトに渡される引数の数

    スクリプトに渡されたすべてのパラメータを1つの文字列として表示する $* ($@)

    $$ 実行中のスクリプトの現在のプロセスID番号

    $?        最後のコマンドの終了ステータスを表示します。0はエラーなし、それ以外の値はエラーを示します。



引用の必要性



    変数操作で変数代入を行う際にスクリプトが犯しやすいミスの1つに、参照エラー

    例:echo abc * 画像

        echo abc '*'

        echo 星ボタンを押すと終了します *。
/{br

引用の仕方

ダブルクォート(") (を除外する必要があります。)

        以外の文字や文字列を引用する場合は、ダブルクォートを使用します。

シングルクォート(') (もっと威圧的で、何でも文字に変換できる)

        二重引用符と似ていますが、シェルは引用符で囲まれた値を無視する点が異なります。

つまり、その特別な意味がマスクされている場合は、引用符の中のすべての文字を文字列として扱います。


バッククォート (`) (括弧内はコマンドとして実行)。

システムコマンドの出力を変数に設定するときに使用します。

シェルはバッククオートの内容を受け取り、システムコマンドとして実行します


バックスラッシュ(˶‾᷄ -̫ ‾᷅˵)

ある文字が特殊な意味を持つ場合、バックスラッシュはシェルがその意味を誤解するのを防ぐ、つまりその特殊な意味を覆い隠すのです。

次の文字は特別な意味を持ちます: & * + ^ $ ` " | ?



スクリプトの例

  1. こんにちは。

    #! /bin
    /{br

    #これは最初のスクリプトです
    /

    echo "こんにちは、世界よ!"

    インプリメンテーションを行います。

    chmod u+x Hello.sh

    . /Hello.sh

  2. var.sh

    #! /bin
    /{br

    echo $1

    echo $2
    /{br

    エコー $3
    /{br

    エコー $4
    /{br

    エコー5ドル
    /{br

    エコー $6
    /{br

    エコー $7
    /{br

    エコー $8
    /{br

    エコー $9
    /{br

    エコー10
    /{br


  3. #! /bin
    /{br

    echo -e "hostnamet `hostname`"
    /

    echo -e "OScoret `uname -r`".

    echo -e "CPUInfot `grep "model name" /proc/cpuinfo|awk -F: '{ print $2}'`".

    ehco -e "CPUMHzt `grep "MHz" /proc/cpuinfo | awk -F: '{print $2}'` "

    echo -e "MEMTotalt `free | awk '$1="Mem:"{print $2}'`"

    echo -e "DiskInfot `df | grep dev |awk '{print $1 $2}'`"


    レビュー

        スクリプトの構成と動作

        変数の種類と使い方

            環境変数

            ローカル変数

            パラメータ変数

            特殊変数

    変数に値を代入する際の参照方法