呉ユーキション - 生まれの自然ShellX研究ノート:Shell関数

Linuxのシェルは、あなたが簡単にシェルスクリプトで呼び出すことができ、ユーザ定義関数にすることもできます。
シェルは、フォーマット関数を定義する以下の通りである:
[機能] funname [()] 
{ 
    処置; 
    [ 戻りINT;] 
} 
注:
 1 、(関数の楽しさを取ることができる)が定義され、(直接的に楽しいことができる)任意のパラメータを指定せずに、定義されています。
2、リターン・パラメータが追加を表示することができます:リターンが返されない場合は、戻り値として、そのコマンドの結果を持続します。戻り値が続くN(0-255 
次の例では、関数呼び出しとを定義する:

!/ binに/バッシュ
demoFun(){ 
    エコーこれは私の第1シェル関数である!
} 
エコー-----この関数は-----始めた
demoFun 
エコー----- -----機能が完成している

:出力
 ----- -----機能を開始します
これが私の最初のシェル関数である!
 ----- -----機能が完了
:return文では、次の関数定義
 !/ binに/ bashの
FunWithReturn(){ 
    エコー2つのデジタル入力機能が追加操作になります... 
    エコー:最初の番号入力
    を読んANUMを
    エコー二番目の数字を入力してください:
    読むanotherNum 
    エコー!2つの図は、$ aNum anotherNumと$でした
    を返す $を(($ aNum + $ anotherNum))
} 
funWithReturn 
エコー" $の合計のための2つのデジタル入力!
次のような出力:
2つのデジタル入力機能は...加算演算であろう
最初の桁を入力:
 1 
:秒数入力
 2 
二桁である 1と2
入力とのための二つの数 3 
$を通じて関数を呼び出した後、関数の戻り値は?得られます。
注:すべての機能は、使用する前に定義する必要があります。機能は、それが最初に発見された際に通訳シェルまで、スクリプトの先頭に配置する必要があることをこの意味では、それを使用することができます。唯一その関数名を使用して関数を呼び出します。
関数のパラメータ
シェルで、関数を呼び出すときに渡すことができるパラメータ。その関数内で、パラメータ$ nの値の形態を得るために、例えば、$ 1は、第1パラメータを表し、2番目のパラメータは$ 2表す... 
パラメータを持つサンプル関数:
!/ビン/バッシュ
funWithParam(){ 
    エコー最初のパラメータ。1 $!
    エコー2番目のパラメータは2 $!である
    エコー$ 10、パラメータ10!
    エコー10番目のパラメータは{10} $!である
    エコー第十一のパラメータ11}が{$です!
    エコーのパラメータの数#$!
    エコー$など、すべての出力パラメータの文字列*!"
1 
2番目のパラメータがある 2 
10番目のパラメータである 10 
10番目のパラメータである 34 
第十パラメータ 73 
パラメータの総数。11 
すべての出力パラメータのストリングとして 123456 7893473 

注、$ 10 10パラメータは、第10 {10} $必要なパラメータを取得し、取得することができません。場合N> = 10、パラメータを取得するために$ {N}の使用を必要とします。

 

おすすめ

転載: www.cnblogs.com/tszr/p/12111943.html