> Unix / Linux – シェル変数の使用 – ネットワークエンジニアチュートリアル

Unix / Linux – シェル変数の使用

スポンサーリンク

無料でプログラマへ!30歳までなら無料でプログラミング学校に通うことが出来ます。下の画像をクリックして無料相談会でGO!

この章では、Unixでシェル変数を使用する方法を学びます。変数は、値を代入する文字列です。

割り当てられる値は、数値、テキスト、ファイル名、デバイス、またはその他のタイプのデータです。まあ当たり前なんですが。

変数は、実際のデータへのポインタ以上のものではありません。シェルを使用すると、変数の作成、割り当て、および削除を行うことができます。まあ当たり前何ですが、、、。

変数名


変数の名前には、文字(a〜zまたはA〜Z)、数字(0〜9)またはアンダースコア(_)のみを使用できます。他を使いますとエラーになってしまいますので注意が必要です。

慣例により、Unixシェル変数の名前は大文字になります。

次の例は、有効な変数名です。

TOKENRING_A
VAR_11
VAR_22

以下に、無効な変数名の例を示します。

-VARIABLE
VAR11-VAR22
VAR_AA!

変数の定義


変数は次のように定義されます。

variable_name=variable_value

例えば ​​-

NAME="Networkenginner"

上記の例では、変数NAMEを定義し、その値に “Networkenginner“を割り当てています。このタイプの変数はスカラ変数と呼ばれます。スカラ変数は、一度に1つの値しか保持できません。

シェルを使用すると、任意の値を変数に格納できます。例えば ​​-

VAR1="Networkenginner"
VAR2=100

値へのアクセス


変数に格納された値にアクセスするには、その名前の前にドル記号($)を付けます。

たとえば、次のスクリプトは定義された変数NAMEの値にアクセスし、STDOUTにそれを表示します。

#!/bin/sh

NAME="Networkenginner"
echo $NAME

上記のスクリプトは次の値を生成します –

Networkenginner

読み取り専用変数


シェルは、読み取り専用コマンドを使用して変数を読み取り専用としてマークする方法を提供します。変数に読み取り専用とマークされた後は、その値を変更することはできません。

たとえば、次のスクリプトは、NAMEの値を変更しようとしているときにエラーを生成します。

#!/bin/sh

NAME="Networkenginner"
readonly NAME
NAME="Qadiri"

上記のスクリプトは次の結果を生成します –

/bin/sh: NAME: This variable is read only.

変数の設定解除


変数の設定を解除するか削除すると、シェルは変数を変数のリストから削除するように指示します。変数を設定解除すると、変数の格納された値にアクセスできなくなります。

unsetコマンドを使用して定義済みの変数を設定解除する構文は次のとおりです。

unset variable_name

上記のコマンドは、定義された変数の値を設定解除します。コマンドの仕組みを示す簡単な例を以下に示します。

#!/bin/sh

NAME="Networkenginneri"
unset NAME
echo $NAME

上記の例では何も印刷されません。もちろんunset で削除しましたからね。

変数の型


シェルが実行されているときは、3つの主要なタイプの変数が存在します。

  • ローカル変数 – ローカル変数は、シェルの現在のインスタンス内に存在する変数です。シェルによって起動されたプログラムでは使用できません。これらはコマンドプロンプトで設定します。
  • 環境変数 – 環境変数は、シェルの任意の子プロセスで使用できます。一部のプログラムでは、正しく機能するために環境変数が必要です。通常、シェルスクリプトは、実行するプログラムが必要とする環境変数のみを定義します。
  • シェル変数 – シェル変数は、シェルによって設定され、正しく機能するためにシェルによって必要とされる特別な変数です。これらの変数のいくつかは環境変数であり、その他はローカル変数です。

前のページ

次のページ

スポンサーリンク

ネットワークエンジニアになりたければ下記から無料相談会に参加!
なんと無料で授業を受けれてエンジニアになれます

投稿日:

執筆者: