![]() |
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| 内部ループは、 whileループ | panknil | シェルプログラミングとスクリプティング | 0 | 2008年1月7日 12:49午後 |
| ループの場合 | xramm | HP - UX | 3 | 2007年10月10日 02:20午後 |
| whileループ | hemangjani | シェルプログラミングとスクリプティング | 2 | 2006年11月2日 11:01午前 |
| ループの | munnabhai1 | シェルプログラミングとスクリプティング | 3 | 2006年4月6日 02:30午後 |
| 同様の機能をどのように取得するwhileループまたはループの | trynew | シェルプログラミングとスクリプティング | 3 | 2002年6月17日 11:09午前 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
shにループをいくつかお困り
やあ、
私は、一にはcpioを介して、バックアップの場合は、次のスクリプトがある NFSの マウントしてください。この問題は、私だけroot権限を取得しているようだです。私はここで何をして悪いんだか分からないが、機能していません。以下は、全体のスクリプトです。私はここで私は問題を抱えているか、少なくとも関連していると思う部分を強調して、私は思う。 ![]() # ! / bin / shに # #設定の構成変数 # NFSMOUNT \u003d 'を/ mnt /NFSの' BACKUP_LOG \u003d 'は/ usr / local / backup_logs ' EXCLUDE_FS \u003d 'を/ mnt /NFSの' HARDWARE_LOG \u003d 'を/ var /のADM /メッセージ' 輸出NFSMOUNT BACKUP_LOG EXCLUDE_FS HARDWARE_LOG タイムスタンプ形式で日付を取得# MDY \u003d `日+ %メートル% d個の%イ` 場合、 [ ! - Dの$ ( BACKUP_LOG ) -て! - ( BACKUP_LOG ) ] $ワット、それから エコー" $ ( BACKUP_LOG )が存在しないか、または書き込み可能ではない" 出口1 Fiの " # # #開始日`で` "バックアップエコー # LOG_START当社のハードウェアログの行数です #ときには、バックアップを開始した。私たちは何も心配していないとしている #その前に今が発生しました。 トイレLOG_START \u003d ` - lの< $ ( HARDWARE_LOG ) ` #ストリップリードと後続スペース exprにLOG_START \u003d ` $ ( LOG_START ) ` BACKUPTYPE \u003d "はcpio " UNIXファイルシステムをバックアップするようにリストを取得# - Fが\u003d ` dfをMOUNTEDSYSTEMSのufs |カット- Dの' ' - F1を|ソート` #削除リストからシステムファイルを除外 $ MOUNTEDSYSTEMSでのFS する ケース" $ ( EXCLUDE_FS ) "で #何もしない場合は除外 * "のFS ) $ ( "*);; リストにエントリを追加します# * )の場合" $ (ファイル) "で 最初のエントリですので、この#リストが空です '' )ファイルシステム\u003d " $ (のFS ) " ; ; #リストが一覧に追加のエントリが含まれて * )ファイルシステム\u003d " $ (ファイル) $ (のFS ) " ; ; esac ; ; esac 完了した のCD / [ " $ BACKUPTYPE場合、 " \u003d " " ]ダンプ;し #バックアップのダンプを使用して $ ( )のファイルシステムでのFS する " $ (ダンプエコーのFS ) $ ( NFSMOUNT ) " | \ ティーは$ ( BACKUP_LOG ) / bu.ufsdump 。 $ ( MDY ) は/ usr / sbin / ufsdump 0fu $ ( ) $ ( NFSMOUNTのFS ) 2 > & 1 | \ #にしている唯一の出力の最後の2行を懸念 これが成功した場合、ダンプされた番号を決定する ティーは$ ( BACKUP_LOG ) / bu.ufsdump 。 $ ( MDY ) |尾-3 #ファイルシステムのダンプ数 exprにFS_COUNT \u003d ` $ ( FS_COUNT ) + 1 ` 完了した その他の #バックアップを使用してはcpio $ ( )のファイルシステムでのFS する "ドルのはcpioアーカイブのFS ) ( $ ( NFSMOUNT ) " | \ライティングエコー ティーは$ ( BACKUP_LOG ) / bu.cpio 。 $ ( MDY ) 。メッセージ\ > > $ ( BACKUP_LOG ) / bu.cpio 。 $ ( MDY ) 見つけるの#の出力が常に相対されるルート して下さい。 $ ( ) -印刷のFS - xdev | \ #を使用して セッド "を変更します。 / "戻る" / "されませんので、 Solarisの樹皮はcpio セッド - e 'を/秒^ \ 。 \ / $ / \ / / ' | \ NECアメリカ社はcpioまたは$ ( NFSMOUNT ) / `ホスト名を` 。 $ ( MDY ) \ 2 > > $ ( BACKUP_LOG ) / bu.cpio 。 $ ( MDY ) 。メッセージ\ 1 > > $ ( BACKUP_LOG ) / bu.cpio 。 $ ( MDY ) ファイルシステムの#数はcpioアーカイブ exprにFS_COUNT \u003d ` $ ( FS_COUNT ) + 1 ` 完了した $ ( BACKUP_LOG ) / bu.cpio 。 $ ( MDY ) 。メッセージの猫 Fiの #表示ファイルシステムの情報だけがバックアップされて " # # #現在のファイルシステムをマウントエコー: " dfを- k膜のファイルシステムを$ ( ) "###"エコー トイレLOG_END \u003d ` - lの< $ ( HARDWARE_LOG ) ` #ストリップリードと後続スペース exprにLOG_END \u003d ` $ ( LOG_END ) ` 場合、 [ " $ ( LOG_BEGIN ) "北東" $ ( LOG_END ) " ] ;し バックアップ中にログに#レポートのエラー 正常に表示されるメッセージを削除して追加するgrepの行を追加#を #システムスクリプトログ " # # #システムログのバックアップ時に発生するエコー: " 猫$ ( HARDWARE_LOG ) | \ セッド - e "の1 、 $ ( LOG_START )エ" | \ はgrep - v "を" |接続\ はgrep v "を" |からの接続は拒否されました\ nawk ' (印刷substr ( $ 0,1,78 ) ) ; \ 長さ> 78 (印刷" " substr ( 0.79ドル) ) ' "###"エコー Fiの #古いログファイルを削除する 場合、 [ " $ ( BACKUPTYPE ) " \u003d "はcpio " ] ;し ) $ ( BACKUP_LOGのCD 見つける。 -ファイルのmtime +14 -次の- exec rm ( ) \ ; ルはls - $ ( BACKUP_LOG ) / * エコー Fiの "日付" `で終了`バックアップエコー |
|
||||
|
symtoms何ですか?少し間違っている場所を推測するのは難しいだけのコードを見ている。
私はここではマイナーな問題が発生した: コード:
case " ${EXCLUDE_FS} " in
# If its excluded do nothing
*" ${FS} "*);;
の場合は、ファイルシステムをアップデートしています必要以上に複雑なようだ。無害だが空の場合は、リストの最初に、あなたはそれで何をすべきか、コードの後半から判断するにスペースを追加。 私、私は正規表現になるだろうとEXCLUDE_FS dfをegrepによるフィルタの出力となるコードは、全体の塊で、とにかく取り除く。 すべてのこれらの変数は何を輸出することのポイントは何ですか?あなたは、それらを必要とされているサブを起動していないか? あなたが不足するオプションの前にはダッシュはここにいる: コード:
grep v "refused connection from " | \ 適切なインデントおそらくここにも少し助けて... |