The UNIX and Linux Forums  
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。

Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > シェルプログラミングとスクリプティング
Googleのunix.com



シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
登録: GUIによっては、スクリプトを実行する。 shyam.appalla シェルプログラミングとスクリプティング 2 2008年5月30日 10:56午後
各Sybaseのデータベースクエリを実行した後、コンソールにプリントをループインデックス Alaeddin シェルプログラミングとスクリプティング 2 2007年12月16日 04:30午前
[ AIXの]スクリプトを実行する piooooter UNIXのダミー質問と回答のため 1 2006年5月26日 12:53午前
スクリプトを実行する big123456 シェルプログラミングとスクリプティング 1 2005年6月3日 07:32午前
rshを使用するスクリプトを実行するため frustrated1 シェルプログラミングとスクリプティング 6 2003年10月2日 08:24午前

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2008年5月7日
ゴツンと打つ thumper is offline VIP Member  
サポーター
  
 

参加日: 2005年2月
投稿: 49
2つ目のループを実行するスクリプトはない

私は、いくつかのサーバからバックアップファイルを受信したサーバーがある。圧縮される前に、各サーバーで、いくつかのファイルを受信しているとして、独自のディレクトリーへのファイルのSCPする必要があります。 tarファイルが必要に捨てられる。ファイルは、 tarの場合は、 SCPが、ファイル'フラグ'という名前が完了するとzipファイルには、 SCPが完全であることを示すのに送信されます。

次のスクリプトと。 tarファイルのファイルを、任意の既存のフラグをチェックするはずだと。 bzip2 tarファイルを実行する上で発見した。
特定の問題は、最初のwhileループでフラグがない場合、またはtarファイルが開始されていない2つ目のループが検出されます。最初のループの場合は、データの両方のループが期待どおりに実行して存在しています。 ( 2つのサーバーの現在のデータをテストするためにのみ)が含まれています。

私は見ていると私のロジックでエラーを探し、それが私eludes 。誰か私の盲点を指摘するもらえますか?

読み込まれてファイルのデータは、コードの後に追加されます。

ありがとう
ゴツンと打つ

コード:
#!/bin/bash
#
# set -n  
 set -x  

##########################################################
####################### FUNCTIONS ######################
##########################################################
file_exists () {
    echo "ENTERING FILE_EXISTS"
    echo "the value of \$1 is ${1}"
    echo "the value of \$2 is ${2}"

    if [ -e ${1} ]  #test for the flag file
        then
            if [ -e ${2} ]  #test for the .tar file
                then
                     `bzip2 ${2}`   #bzip the .tar file
                     `rm ${1}`       #remove the flag file
                else  #no .tar file found
                    mail -s "No ${2} file found" thumper@somewhere.net
            fi
        else  #no flag file found
                        mail -s "No ${1} file found" thumper@somewhere.net
    fi
    return 0
}
#### end
##########################################################
#################### MAIN ################################
##########################################################

while IFS=: read dir sname flag ext
do
        VAL_1="/$dir/$sname/$flag"
        VAL_2="/$dir/$sname/$ext"
        echo ${VAL_1}; echo ${VAL_2}
#       echo "Calling file_exists"

            file_exists ${VAL_1} ${VAL_2}

#       echo "Exited file_exists"
        echo "VAL_1 is ${VAL_1}"
        echo "VAL_2 is ${VAL_2}"
        echo "\$? is $?"
done < /root/scripts/bz-data
# End of script

データを読み取るステートメント
/ルート/スクリプト/ベリーズデータ
アーカイブ:依田:フラグ: *.タール
アーカイブ:固い:フラグ: *.タール
  #2固定リンク)  
Old 2008年5月7日
robotronic's Avatar
robotronic robotronic is offline Forum Advisor  
私の狂気と遊ぶことはできますか?
  
 

参加日: 2002年4月
場所:イタリア
投稿数: 370
私はあなたのスクリプトをテストしたが、私は問題では私のLinuxボックスを...私は旗のすべての可能性missings / tarファイルの組み合わせを試みたが、私はあなたの行動を再現することはできません。

コード:
test ~ $ bash --version
GNU bash, version 3.2.33(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
おそらくあなたの問題は、特定のOSおよび/またはbashのバージョンに関連している
  #3固定リンク)  
Old 2008年5月7日
ゴツンと打つ thumper is offline VIP Member  
サポーター
  
 

参加日: 2005年2月
投稿: 49
引用:
当初の投稿 robotronic View Post
私はあなたのスクリプトをテストしたが、私は問題では私のLinuxボックスを...私は旗のすべての可能性missings / tarファイルの組み合わせを試みたが、私はあなたの行動を再現することはできません。

コード:
test ~ $ bash --version
GNU bash, version 3.2.33(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
おそらくあなたの問題は、特定のOSおよび/またはbashのバージョンに関連している
私は、 OSやbashのバージョンを、このような問題を引き起こすことを実現していない。
とにかくのOSである
# uname - 1
Linuxのスポーツ2.6.11.4 - 21.17 -デフォルト# 1金4月6日午前8時42分34秒UTCに2007 i686のAthlonのI386 のGNU/リナックス

また、 bashのバージョンです
# bashの-バージョン
のGNU bashのは、バージョン3.00.16 ( 1 ) - ( i586 -のSUSE - linuxの)リリース
規約Copyright ( C ) 2004 Free Software Foundationは、株式会社
と、 bashのバージョンです

誰も私に感謝する場合には、この問題の原因を知っている。

おかげで再び
ゴツンと打つ
Closed Thread

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 11:54午後


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0