一般的なロジックステートメント

1、for文:

んが、リスト内の変数のための
  ループが
行われ

(;文を分析する;(初期値の文変更ステートメント));のために行う
  ループが
行われ

case文:

2、内ケース変数
PAT1)
  文を実行
;;
PAT2)
  文を実行
;;
*)
デフォルトの実行文
;;
ESAC

3、while文:

初期値の定義
状態を判断しながら、行う
  ループ
  値変更ステートメントが
行われ

図4は、声明まで:同じ文の使用状況ながら、しかし、条件が偽のときにのみ決定するため、ループに入ります

5、if文:

条件が決定された場合、その後
  の文の実行
Fiを提供し

、その後、条件が決定された場合
  。ステートメントを実行する1

  の文2を実行
Fiを提供して

条件が決定された場合、次に
  文を実行1つの。
のelif条件判定をし、次に
  文の2実行
のelif条件判定をし、次に
  文を実行3。
他の 
  ステートメントを実行4。
Fiを提供して

機能

図1に示すように、機能を説明:コードの再利用を回避するために、我々は、一般的に、機能ブロックによって書き込まれ、特定の機能を実装するためのコードブロック、およびそれ以降のコードでは、この機能、コールが繰り返されます。

2、関数の構文:

図1に示すように、関数fun_name(){

    関数本体

 }

 fun_name

[関数を呼び出していない関数を呼び出すと、関数本体は関数本体はどこのコマンドを実行し起動する場合は、実行されません]

3、リターン------関数の戻り値を呼び出します    

(1)裁判官の文章は、私たちが間違った結果を返すためにデフォルトが、最近のコマンド確かに正しいが、この時間は、我々はリターンによるエラーステータスコードを必要とするものを返す必要があるときに関数を指定すると、
(2)機能最後に、我々は正しいリターンリターンコードを指定する必要があります。
   ループ内で使用している場合、リターンは蚊帳の外になります。

図4に示すように、受信パラメータが機能:機能+変数、及び通常コマンド。転送は、外部リファレンスを使用しない限り、なおときに受信パラメータの関数が、スクリプトの内部パラメータを受けます。

5、の機能:グローバル変数

         ローカル変数:内部スクリプト変数

           ローカル変数:ローカル変数名= xxxのローカル変数は、この関数内で有効になります

           環境変数:bashの全体のLinuxシステムの発効

6、質問上のスクリプトの実行:

実行するには(1)、bashの道 - #/ binに/ bashの!

   バッシュ現在のシェルのサブシェルで定義されたスクリプト変数を実行。

(2)完全なパスまたは相対パスを、モードを実行するステップと、 - 許可を実行することを許可しなければなりません。

   (ソース・ファイルまたはスクリプト。スクリプトファイル)

    ソースは、このようにしてシェルの電流で定義された内部変数の値をスクリプトを実行するときに、

7、再帰関数:N階乗は、自分自身を呼び出す循環されています。

演習:階乗

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
# Author: cqy
# Blog: https://www.cnblogs.com/cqyyyyy/
# Time: 2019-07-28 22:28:15
# Name: 阶乘.sh
# Version: v1.0
# Description: This is a Script.
 
fac(){
         if  [ $1 -lt 1 ]; then
                 echo  " 1"
         else
                 echo  $[$1*$(fac $[$1-1])]
         fi
}
fac 5

おすすめ

転載: www.cnblogs.com/Eucalyptusleaves/p/11421888.html