、シェルスクリプト
動作モードに応じて区分1、プログラミング言語、
、コンパイルして実行:ソース - >コンパイラ(コンパイラ) - >ファイル
C言語:
B、解釈ランタイム: - ソース>インタプリタは、側縁を実行するインタプリタによって解釈、実行を開始し、即ち、ソースコード自体は実行されないが、インタプリタの起動処理、インタプリタなどのソースコードの内容全体パラメータ。それは側縁の説明ですのでので悪くなります、コンパイルの速度よりも運転中に実行します。
C、それはコンパイラやインタプリタの途中であるかどうか、常に我々が翻訳呼んで操作、中にフル参加は、彼はマシンコードマシンにコードを識別することができるように私たちを必要としていることを他のプログラムが認識できる必要があります。
2、その機能を達成するためのプログラミング工程によれば、ライブラリを呼び出すか、外部のプログラムファイルを呼び出すことです。
、シェルスクリプト:
組立システムのプログラミングを使用してコマンドとプログラミング
B、完全なプログラム:
ライブラリのプログラミングやプログラミングのコンポーネントを使用します
図3に示すように、プログラミング・モデルに従って分類される:手続き型プログラミング言語、オブジェクト指向プログラミング言語、
プログラム命令=データ+
プロセス式:データサービスコードに、中心を整理するための命令コード。
実行順序。
実行を選択します
サイクル実行
C、bashの
式のオブジェクト:センターのデータを整理するデータについてコード、説明書を整理します。
クラス(クラス):オブジェクト、メソッドをインスタンス化します。
代表:Javaの、C ++、Pythonの
4、シェルスクリプト:手続き型プログラミング、実行中の外部プログラムファイルに応じて、操作説明。
第二に、どのようにシェルスクリプトを記述するために
図1に示すように、スクリプトファイルの最初の行、上部グリッド:シェバング与えられ、現在のファイルの解釈スクリプトインタプリタを示すインタプリタ経路。
、共通インタプリタ
#!/ binに/ bashの
#!は/ usr / binに/ pythonの
#!/ usr / bin / perlの部分
B、一般的なテキストエディタ:ナノ
ラインエディタ:sedの
フルスクリーンエディタ:ナノ、viの、vimの
[ルート@ノード1〜]#ナノmyfirst。SH [ルート@ノード1〜]#の猫の myfirst。SH #!/ binに/ bashの useraddのUSER3 エコー " USER3 " | passwdの - 標準入力user3に mktempを -d / tmpに/ test.xxxx [ルート@ノード1〜]#1 のchmod + X myfirst。SH [ルート@ノード1〜]#./myfirst。shが パスワードを変更するためのユーザーUSER3を。 passwdの:正常に更新され、すべての認証トークン。 mktempを:あまりにもいくつかのX " のテンプレートの『/tmp/test.xxxx』
2、シェルスクリプトは何ですか?
コマンド蓄積
しかし、多くのコマンドは冪等、その操作で回避エラーのために、満足している動作条件を決定するために必要なプログラムロジックではありません。
3、スクリプトを実行します。
このプログラムを実行する権限、および直接ファイルを実行して与えられ、
chmodコマンド+ X / PATH / TO / SCRIPT_FILE
/ PATH / TO / SCRIPT_FILE
B、直接インタプリタ実行、スクリプトのコマンドライン引数は、インタプリタプログラムに渡します
bashの/ PATH / TO / SCRIPT_FILE
C、演習1:以下の機能を実現するためのスクリプトを記述します。
(1)は、すべての/ etcディレクトリ自体に大文字または小文字のpのp個のファイルまたはディレクトリで始まる示し
[ルート@ノード1〜]#lsの -dは/ etc / [にpP] * /etc/pam.dには/ etc / passwdの -の/ etc / PKCS11の/ etc /プリマスの/ etc / polkit- 1 の/ etc / postfixのは/ etc /プリリンク.conf.dは/ etc / profileは/ etc / プロトコル の/ etc / passwdファイル は/ etc / pinforcの/ etc / PKIの/ etc / pmの/etc/popt.dの/ etc / pppは/ etc / printcapのを/etc/profile.dの/ etc /パイソン
(2)/ varディレクトリ自体の下にあるすべてのファイルやディレクトリを表示し、結果は大文字と小文字を変換し表示します。
[ルートへVAR @ノード1]#lsの -dは/ var / * | TR 'AZ' "AZ" / VAR / ACCOUNT / VAR / ADM / VAR / CACHE / VAR / CRASH / VAR / DB / VAR /偶数EMPTY / VAR /ゲーム / VAR / GOPHER / VAR / KERBEROS / VAR / LIB / VAR / LOCAL / VAR / LOCK は/ var / log / VAR / MAILに / VAR / NIS / VAR / OPT / VAR / PRESERVE / VAR / RUN / VAR / SPOOL / VAR / TMP / VAR / WWW / VAR / YP
(3)は、一時ファイルを作成します/tmp/myfile.XXXX
[ノード1 VAR @ルート]#mktempを-d / tmpに/ myfile.XXXX
/tmp/myfile.Z19s
46:14