shell_day03

プログラミングの原則

1。プログラミング入門

ドライバ:

  1、ハードウェアのデフォルトを使用することはできません。

  2、別のハードウェアデバイスメーカー間のコマンド通信の必要性は、私たちは「翻訳」するドライバが必要です。

  「アセンブリ言語」を学ぶために、ハードウェア開発エンジニアに、より近い3; C、C ++根底にあるアセンブリ言語であり、「アセンブリ言語は、」製造者によって制限されています。

  今高水準言語プログラミングだけでなく、超高レベルの言語に基づいて、より良いプログラミングを実装するプログラマを可能に

 

プログラミング言語カテゴリー:

  高水準言語、コンピュータ読み取り可能な言語に翻訳される超高レベル言語(バイナリ命令)

  解釈 - ラインによって翻訳されたライン、ラインシェルのpython javaのことでライン

     ライン実行および出力によってはbash -x filename.shライン

  コンパイルされた - コンパイルされたら、実装のC言語のC ++、C#のJavaのすべての

 

  オブジェクト指向 - データのプログラミング言語に焦点を当て

  プロセス指向 - プログラミング言語命令に焦点を当てました

プログラミング言語の実装:

  ラインで[]ライン

  1、実行の順序

  図2に示すように、ループを実行 - *(トラバース)するために、一方まで(ループ条件)AN(反対ながら)

  *支店をケースならば - 3、実行を選択します

 

導入2.shellスクリプト言語

  利点:すべての機能にラインのコマンドOS(オペレーティングシステム)を呼び出します。

  短所:なしライブラリの呼び出し(のpythonを区別するために)

  シェルスクリプトは、次のとおりです。

    コマンド*(非常に重要)

    変数(グローバル変数、ローカル変数、ローカル変数、パラメータの受け渡し)

    ロジック

 

  最初の言葉をシェル!(書かれている必要があります)

    #!/ビン/ bashの - 定義されたスクリプトインタプリタ(#は、一般的に、特別な、コメント行とみなされる)シェバング

    #!は/ usr / binに/ pythonの

 

    システムシェルでサポートされている現在の番組を視聴するには/ etc /シェル

    エコー$ SHELLはシェルプログラムの現在のセッションを表示します

    / etc / passwdファイルのユーザーのデフォルトのシェルプログラムを(/ sbinに/ nologinに)をサポートするために開発されました

 

シェルの実行:

   1。スクリプトを実行するには、bashコマンド

      -nビューロジックエラーがスクリプトをシェル(注:ない単語間違いました)

      -xプログレッシブスクリプトの実行(簡単なトラブルシューティング)

   2。認定のchmod uの+ X filename.sh

      スクリプトの実行へのフルパスを使用します

    

      場合は、idの$ *&>を/ dev / null;その後、

        「ユーザーがすでに存在している。」エコー

  他

     私で$ *のために、やります

         私は$ useraddの

      「123456” エコー| passwdの-stadin 『$ I』&>を/ dev / null

   完了

     終了0

  されます

3.変数

   環境変数

   ローカル変数のコマンドを宣言 - 変数の型を定義します。

   関数内で使用するローカルローカル変数

   変数の型

      数値:1、int型の整数

2、float型

3、01ブール(trueまたはfalse)

文字列:1、普通の文字と文字列

プログラミング言語カテゴリー:

  強く型付けされた言語 - 値は処理するためまたは操作で定義する必要があります

  弱い型付けの言語 - プログラミング言語は自動的に変数の型を識別することができます

  [多型:プロパティは、データの最終用途に依存して複数の属性を有するデータ、および彼の計算]

  パラメータの受け渡し

      $?1〜255の正しいエラー時に0のコマンドの実行状況

      10入力データコマンドスクリプト後$ 1 $ 2つの$ {...}、セパレータ用スペース

      統計パラメータの$#額は$ {$#}を通過しました

      $ *全ての伝送パラメータ、文字列の出力に渡されるすべてのパラメータを意味します

      $ @がすべての伝送パラメータのリストの形式ですべてのパラメータの出力を意味します

可変フォーマットを定義します。

      NAME =値(ハウル割当等スペースなし、などハウル2つの決意)

      私たちは、コマンドのタイプによって定義された変数を宣言します

      -i整数を宣言

      -a配列を宣言

 変数名:

      下線付きの変数名を指定します

      ハンプ命名

条件付き4.testファイルテスト、

      このスクリプトでは、我々は声明を分岐する必要があり、それが判断を行うことを意味、判断が達成するために、テストコマンドを使用することです

フォーマットを使用します:

  1.テスト[オプション]ファイル

  2. [条件付き]注:二つのスペースがあります。

共通のテストオプション:

     オプションの比較:

    -eq等しいです

    -ne等しくありません

    より大きい-gt

    -geと大

    未満を-lt

    -leと小さな

     オプションを決定します。

    通常のファイルかどうかを判断-f

    -dカタログファイルかどうか

    -Lリンクされたファイルかどうか

    -r -w -x書き込みを読んで

     非に関連するオプション:! -Oまたは-a

5。論理演算

     そして、&&真が真であります

     またはその両方が本当を持っ||

     非!

     論理演算子は、当接別のコマンドの前後に存在します

   [$?-eq 0] &&出口0 || 1番出口

6.算術

     1 + 1ましょう

     exprの1 * 1

     $ [$ 1 + 10]

     $(($ 1 / $ 2))

     + - * /%

おすすめ

転載: www.cnblogs.com/TheNeverLemon/p/11347147.html