(IV)のbashのオペレータ

8:Bashの変数と演算子

1:Bashの変数は、他のプログラミング言語と異なっています

値の計算が実行される場合、(1)バッシュに、デフォルトのタイプは、指定された強制的な数値変数のタイプ文字列変数です。

(2)等号変数値、スペースを含まない等号の左右によって接続されています。

変数の値にスペースがある場合(3)、使用は、単一または二重引用符を含みます。以下のような: "テスト=" Hello World "の"!。単一引用符がコンテンツをマークしながらでは、二重引用符「$」、「\」と抗引用符の内容は、特別な意味を持っている普通の文字です。変数の値は、「\」文字をエスケープ使用することができます。あなたは、変数の値を大きくする必要がある場合は、変数の値を重畳することができます。しかし、変数は二重引用符で「$変数名を含める必要があります

「$ {変数名や変数名が含まれています}

 

2:カテゴリ変数

ユーザー定義変数:この変数は、最も一般的な変数、ユーザーによって定義された変数名と自由の値です。

環境変数:この変数は、このようなコマンドプロンプトなど、ユーザーのホームディレクトリ、ログオンしているユーザーの現在のように、メインオペレーティングシステムおよび環境関連データに格納されています。変数名環境変数を自由に定義することができますが、環境変数に、一般的に機能するシステム変数名は、事前に構成されたシステムです。

位置パラメータ変数:この変数は、主に、変数名のうち、スクリプトまたはデータにパラメータを渡すために使用される変数の効果が固定されているカスタマイズすることができません。

定義済み変数:バッシュが既に変数を定義し、変数名をカスタマイズすることができない、可変効果が固定されています。

 

(1)カスタム変数

ユーザー定義変数:スペース#なしの等号の左右両側

[ルート@ localhostの〜]#名= 123

エコー$名

検索変数を変更するには、追加および削除:

増加:名= 123、

変更:= 567名が直接カバーし、

削除:未設定の名前は、変数を削除し、変数がメモリ空間のリリースとして理解することができます

クエリ:変数が定義され、またはシステムがどのように多くの変数が定義されているか確認してください。

 

[オプション]コマンドを設定します

オプション:

-u:このオプションが設定されている場合、それが宣言されていない変数を呼び出す(任意のプロンプトを表示せずにデフォルト)、文句を言うでしょう

-x:コマンドが実行される前に、このオプションを設定した場合、それは最初のコマンド出力します

 

(2)システム環境変数

1:環境変数の設定

輸出年齢=「18」

 

2:環境変数クエリと削除

envおよびコマンドの設定との違いは、すべての変数、およびenvコマンドは、環境変数をのみ見ることができます表示するコマンドを設定しています。

[ルート@ localhostの〜]#解除性別

[ルート@ localhostの〜]#1のenv | grepの性別

 

3:デフォルトの環境変数

HOSTNAME = localhost.localdomainをホスト名

SHELL = / binに/ bashの現在のシェル 

TERM = linuxの端末環境

コマンド履歴のHISTSIZE = 1000数

現在の動作環境が接続されているSSH_CLIENT = 192.168.4.159 4824 22 SSH、クライアントレコードのIP

SSH_TTY =は/ dev / PTS / 1

例:PATH = "$ PATHに":/ルート/ shが、システムの実行パスのbin SHを修正するために追加しました

 

4:LANG変数言語

LANG環境変数が第一言語Linuxシステムを定義し、この変数のデフォルト値は次のとおりです。

[ルート@ localhostののソース]#エコー$ LANG

 

(3)可変位置パラメータ

$ N:Nコマンド自体は$ 0、$ 1- $ 9は第九の最初のパラメータを表す数であり、10個の以上のパラメータは、{10} $として必要ブレースを含みます。

$ *この変数は、全体として$ *すべてのパラメータは、コマンドラインパラメータのすべてを表しています。

この変数は、コマンドラインパラメータのすべてを表しますが、$ @をする各パラメータを区別するために、@ $

$#この変数は、コマンドライン上のすべてのパラメータの数を表します。

$ 1 $ 0はコマンド自体を指し、最初の引数を表します。

[ルート@ localhostののSH]#以上parment.sh

#!/ binに/ bashの

 

私で$ *#のループ出力用

    行う

      エコー "paramentersです:$ I"

完了

 

yの "$ @"

サイクルの背後にあるいくつかの中に#同じ値、数回、値が変数yに代入するたびに

#しかし、シェルスタンドアローンとしての両方での「$ @」の各パラメータ、このため、「$ @」は、いくつかのパラメータがあり、それがサイクル意志数回

行う

":$ yをパラメータ$ xは、" エコー

出力変数y#1の値

X = $(($ X +1))

より明確に出力を確認するために、しかし、変数#Xプラス1サイクル毎、

完了

 

(4)予め定義された変数:

$?コマンドの戻り状況は、最後に実行します。この変数は、正しく実行されたコマンドの証拠0である場合、この変数は、(コマンドによってどの特定の数が、決定するために)ゼロでない場合、コマンドが正しくないことを証明します。

$$現在のプロセスのプロセスID(PID)

$!最後に、バックグラウンド・プロセスのIDで実行中のプロセス(PID)

 

9:キーボード入力を受け取ります

読んで[オプション] [変数名]

オプション:

-p「メッセージ」:入力と出力のメッセージを待っている間に読んで

-t秒:コマンドは、ユーザーの入力を待っている読んで、あなたは、待機時間を指定するには、このオプションを使用することができます

文字の-n数:コマンドは文字の指定した数だけを受け付け読んで、実行されます

-s:機密情報の入力のための隠されたデータ入力

 

変数名:変数名は、変数名を指定しない場合、変数REPLYデフォルトの保存に入ります、カスタマイズすることができます。唯一の変数名場合は、入力行全体は、変数を与えます。複数の変数名は、入力行がいくつかの文字に分割されている場合、それぞれが1で変数を与えます。

おすすめ

転載: www.cnblogs.com/love-life-insist/p/11668763.html