シェルのレッスンは、運用・保守に学びました

公共番から徐梁のLinux

書きます

  1. スクリプトの先頭はスクリプト関数の記述の一部である必要があり、形式の記述、作成者名、作成/変更日、バージョン情報を、パラメータ:

  2. スクリプトを書くときの文章は、アライメントを決定し、そして完全なケースを選択される前と後に、このようなループまたはすべての文のように整列形式を、注意してください

  3. スクリプトの実行の始まり、未定義の変数やコマンドを使用して、実行中に遭遇した場合は、次のコマンドを実行し、非ゼロ値を返し、それはエラー終了を指示します。

  4. などの単一引用符でコマンドラインの各パラメータ、二重引用符、特にRM、MVは、本番データに既存事業の変更をもたらすことができることをお勧め、ゴミ・ポリシーを使用することをお勧めします。rm運転ターンをMV操作を意味し、文書を設定しますロールバックを防ぐために、ディレクトリ、および定期的な清掃を保存します。

  5. あなたは、コマンドラインパラメータ」を使用する必要がありますか「?「ワイルドカード、最も正確な費用収益対応の原則に基づくべきで、ファイルのように決定することができ、ディレクトリ名の接頭辞、接尾辞、および他の認識拡張キーワード、情報がパラメータに含まれなければならない、そのようなファイルを決定するように、ディレクトリの長さがなければなりません「でしょうか?「ワイルドカードを使用することはできません」の使用を推奨します」:

  6. 数値変数に代入した後、後工程での異常発生を回避、数値変数の必要な値を確保するための手段
#!/bin/bash
count=`cat test.log|wc -l`
isNumber $count
isNumber()
{
if [ "$1" -eq "$count" ];then 
echo " $1 is number"
else
echo "$1 isn't a number"
exit 1
fi
}
  1. 決意の条件で使用される変数は、のような二重引用符で囲む必要があります。
if [ "$i" -lt "$max" ]
then
    break
fi
if [ -f "$conf" ]
then
    break
fi

  1. バックアップファイルがパッケージ化されたとき、それは相対パスを使用してパッケージ化されなければならない、など。

  2. 次のようなパッケージを圧縮するために必要なファイル、パイプライン処理が推奨され、

  3. あなたは、psコマンドのスクリーニングプロセスを使用する場合は、このようなプロセスを決定するなど、ユーザーに属している、ユーザー名は、killコマンドの入力として、その出力などのパラメータで指定する必要があり、あなたはプロセスを指定する必要があり、ユーザーに属している、のような:
    kill -9PS -fu $ USERNAME| grep java |grep AdminServer

エラーが発生しやすいクラスの殻を書きます

  1. 更新ファイル>、NAのcp
    使用>が、ファイルおよびロールバックファイルを変更CPを使用した場合の権限を変更するグループに属しているを避けるために、だけでなく、使用しCP -pr元の権利を保有することができ、ソースファイルの所有権と権限を保持するために、そしてグループであります

  2. killコマンドを使用する前に確認してください。
    完全一致キーワードを使用-W。
    grepのキーワード-w | |前とキルした後は、二回のps -ef、オンサイトで保管されているのgrep -v grepの>>を/ tmp / kill_の.backupプロセス名
    のチェックを確認する必要性を除去する前に、プロセスIDは、殺人を避けるために、ユニークで取得します

  3. RMの確認使用する前に
    、直接ファイル名やディレクトリ名を使用して変数を使用しないよう、オブジェクト情報を削除する削除する前にバックアップを、
    使用しなければならない場合、削除する前に、誤って削除を避けるためにチェックしたディレクトリを削除し、情報の保持を提出することをお勧めします:

    ルートディレクトリを横断するために見つけるに使用しないようにしよう見つけること、元同僚の確認、削除、複数の誤って削除を避けるため削除する必要があります。

  4. 区別するためにスペースバーを押し、forループの条件で、正しくないか、無限ループに入る避けます

  5. あなたはループ変数を使用したい場合は、ループタブーながら合わせ、パイプライン中に使用しないでください。

  6. 注意CPは、この文は、基本的には正しいのですが、再び宇宙セグメンテーションの問題があります。だから、二重引用符で囲む必要があります。
    CP「$ファイル」「$ターゲット」

  7. カドミウム注意
    :のような、誤って削除し、失敗したディレクトリにCDを使用して回避し、操作を操作し、ディレクトリに入ってしまう可能性がありします

  8. [[]]の代わりに[]

  9. ファイルを読み書きするために、同時にパイプラインを操作しないでください
  10. CDのfallibility問題

アプリケーションカテゴリ



おすすめ

転載: www.cnblogs.com/0916m/p/11617269.html