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

Bash/シェルスクリプトの変数とその使用方法[チュートリアル]

この記事では、LinuxのBashおよびシェルスクリプトで変数を使用する方法を説明します。

バッシュ (またはLinuxシェル)スクリプトは、一般的なタスクを自動化し、時間を節約するためのコマンドを含む、作成するファイルです。

変数 後で使用するための値を保持するスクリプト内のものです–数字、ファイル名、または実際には何でも。

Linuxシェルスクリプトで変数を定義して使用する方法は次のとおりです。これらの例は、最も人気のあるLinuxシェル、Bash、およびZshで機能するはずです。

Bash変数の宣言

Bash変数はデフォルトで型指定されていません。 伝えることはできません それは変数で何ができるか–それは暗示されています。

基本的に、すべての変数は文字列として保存され、使用時にコンテキストに従って処理されます。文字列に数値が含まれている場合、それを使ってインクリメントしようとすると、1つとして扱われます。

以下では、いくつかの変数が宣言されています– MY_STRING MY_FILE_PATH、 およびMY_NUMBERこれらはすべて型指定されていない変数です。

#!/bin/bash          

MY_STRING="Hello Linux!"
MY_FILE_PATH=/path/to/my/file.txt
MY_NUMBER=4

#!

については、ここをクリックしてください。

「declare」コマンド構文

宣言に注意してください バッシュに固有です 環境であり、別のシェルを使用している場合は存在しない可能性があります。

宣言の構文 は次のとおりです:

declare OPTIONS variable_name=variable_value

注:

  • オプション はオプションであり、変数のタイプまたは動作を設定するために以下の表から選択できます
  • variable_name 定義/宣言する変数の名前です
  • variable_value 上記の変数の値です
宣言 オプション 意味
-r 読み取り専用 読み取り専用変数を宣言する
-i 整数 整数変数を宣言する
-a 配列 配列である変数を宣言します
-f 関数 関数である変数を宣言する
-x エクスポート スクリプトの外部にエクスポートできる変数を宣言します

「declare」コマンドの例

ここで文字列変数が宣言されています(つまり、 OPTIONSはありません 提供)、その後に整数変数が続きます。

#!/bin/bash   

declare MY_STRING="Hello Linux!"
declare -i MY_NUMBER=4

ここで、変数MY_STRINGの値をMY_NUMBERの値に割り当てようとすると、文字列は数値に評価されないため、MYNUMBERは0に設定されます。

宣言 基本的な入力機能のみを提供するため、実際には信頼できるものではありませんが、変数が特定のタイプの値のみを保持できるようにするのに役立ちます。

Bash変数の使用

変数を使用するには、接頭辞として $を付けます (ドル記号)。例:

#!/bin/bash          

MY_STRING="Hello Linux!"
MY_FILE_PATH=/path/to/my/file.txt
MY_NUMBER=4

echo $MY_STRING # Prints the string variable
touch $MY_FILE_PATH # Create or update the file at the given path
MY_NUMBER=$(($MY_NUMBER+1)) # Increment MY_NUMBER by evaluating a mathmatical formula

touchの使用に注意してください 上記のスクリプトでファイルを作成または更新するコマンド。

二重角かっこ(())の使用に注意してください –これはBashにそれらに含まれるステートメントを評価するように指示します–そうでない場合、MY_NUMBERには「$ MYNUMBER+1」という文字を含む文字列値が与えられます。

文字列での変数の使用

たとえば、ユーザー入力からファイルパスを収集した場合など、文字列で変数の値を使用する必要がある場合があります。

文字列に変数を含めるには、別の文字列のラップされた引用符で変数を使用するだけです。

echo "This is my string: $MY_STRING"

ローカル変数

ローカル 変数は、それらが作成されたスコープ内、つまり、変数が定義されている特定の関数またはループ内でのみ使用できます。

#!/bin/bash

function myFunction {
        local MY_STRING="This string is only available here, in this function"
        echo $MY_STRING
}

echo $MY_STRING # Will print nothing, as the variable was defined locally within a function
>


  1. Windows 10にBash(Linuxシェル)をインストールして使用する方法[チュートリアル]

    WindowsでLinuxシェルを設定して使用する方法は次のとおりです– Linux用Windowsサブシステムを使用します ( WSL 。 このチュートリアルは、2020年以降の最新バージョンのWindows10を対象としています。古いソフトウェアを使用するべきではないため、古いバージョンのWindows10でWSLを使用する方法やWindows8/7 / XP/3.1の他の方法については説明しません。 Windowsを使用する必要がある場合は、セキュリティパッチをまだ受けているバージョンを使用してください! WSL は優れたツールであり、Linuxを離れたことがないかのよ

  2. Bash 変数チュートリアル – 6 つの実用的な Bash グローバル変数とローカル変数の例

    この記事は、進行中の bash チュートリアル シリーズの一部です。他のプログラミング言語と同様に、Bash にも変数が用意されています。 Bash 変数は、プログラムの存続期間中に必要となる情報を一時的に格納します。構文: VARNAME=VALUE 注: 変数の割り当てでは、「=」記号の周りにスペースを入れないでください。 VAR=VALUE を使用すると、シェルは「=」を記号として認識し、コマンドを変数割り当てとして扱います。 VAR =VALUE を使用すると、シェルは VAR がコマンドの名前であると想定し、それを実行しようとします。 シェルは変数の型を気にしません。変数には、