The UNIX and Linux Forums  


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



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

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
1 2 cshスクリプトを埋め込まれた呼び出しに失敗csh pollsizer シェルプログラミングとスクリプティング 1 2008年6月7日 02:22午後
シェルスクリプト- Fiの場合---状態 yog_chavan シェルプログラミングとスクリプティング 4 2008年5月7日 10:46午前
必要なシェルスクリプトでのテスト条件を手伝う pieman8080 シェルプログラミングとスクリプティング 9 2006年9月11日 06:20午後
UNIXのスクリプトが失敗.... khan1978 UNIXの詳細&エキスパートのためのユーザー 1 2005年12月5日 01:28午後
スクリプトの中で条件OR'ing ヴィノ シェルプログラミングとスクリプティング 9 2005年4月21日 09:34午前

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2007年11月19日
rubionis rubionis is offline
登録ユーザー
  
 

参加日: 2007年8月
投稿: 18
条件はSSHのスクリプトの中で失敗した場合

やあ、

私のsshいるのは、リモートマシン( Ubuntuの)スクリプトの中で少しthere.Theにスクリプトを実行しようとしてこのようになります:


コード:
ssh user@ubuntu <<EOF
cd ~/test
ls -l
echo "Continue counting files starting with a`s ?"
read answer
if [ "$answer" = y ]
then 
ls -l a*
else
exit
fi
EOF

今までのすべてが正常に動作テストのIF 。このスクリプトでは、読み取りコマンドを脱出し、 ( )を要求されませんし、残りのすべての場合は無視されるようだ。これは、 "その後"の部分の近くにはエラーが表示されます。私は、リモートマシンのローカルスクリプトの構築に努力したし、回収は、 SSHのスクリプトからはそれも失敗しているようだ。ケースの状態では簡単なスクリプトを内蔵しているが、エラー- "予期しないファイルの終わり"にもかかわらず、すべてが、 (外径でも、チェックは正しいよう- cを任意の隠し文字)
言い換えれば、簡単なスクリプトごとに私はSSHのスクリプトの中でのテスト条件では、内蔵
失敗するようだ。

誰かのアイデアですか?

と一般的にはルールが私の心には、リモートマシンにはSSHを介してテストスクリプトを実行する必要条件は何ですか?

編集rubionisで最終; 2008年4月15日に 06:42午後..理由:コードのタグを追加
  #2固定リンク)  
Old 2007年11月19日
ポーター porter is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2007年1月
投稿数: 2,965
引用:
当初の投稿 rubionis View Post
エコー"で始まるファイルを数えている`続行か? "
バッククォートを削除する方法については?

お持ちの"か# ! / binに/スクリプトの開始"でshに?
  #3固定リンク)  
Old 2007年11月19日
rubionis rubionis is offline
登録ユーザー
  
 

参加日: 2007年8月
投稿: 18
はい、私は、スクリプトの先頭に# ! / binに/やってみると言うのを忘れた。

と私が実際に戻ってスクリプトでは、 (はい私は、スクリプトの中で紛争の特殊文字を認識している) 、私はダニを持っていないの` sは例のよう。私は、 sshのスクリプト内のすべての特殊文字を避けるには、 [ OK ]を探すスクリプトを言ってやるがいいですか?

だから私の質問ですが、もしあったとしても知られている紛争時にSSHのスクリプトで試験条件を使用しています。は私の認識ではない、あるいは他の言葉ではSSHのスクリプトで試験条件の一般的なフォーマットされている。午前または私は自分のスクリプトの中で何か足りない?

迅速な返事をいただきありがとうございます。
  #4固定リンク)  
Old 2007年11月19日
gus2000 gus2000 is offline
登録ユーザー
  
 

参加日: 2007年10月
投稿数: 157
実際に、シングルエンドの場合は、オープンを閉じる必要がありますを引用している。

しかし... ...あなたより大きな問題を抱えているが、これは* *リモートスクリプトです。そのためには、このようなステートメント:


コード:
ssh HOST <<EOF
    echo $HOSTNAME
EOF

が表示されます ローカル またHOSTNAMEの値は、以降のスクリプトは、シェルによって評価される前に、リモートホストに送信されます。そのためには、すべての変数を評価する必要はありません(すなわち、 " \ $ hostname "の)エスケープする。もし参照する必要はありません いかなる ローカル変数は、あなたからは、 " EOFを"区切り文字をエスケープすることが評価されているスクリプトを防ぐことができます:


コード:
ssh HOST <<\EOF
    # the backslash above will prevent the Variables below from being evaluated
    echo $HOSTNAME
EOF

一般的には、ときにコードを試みる/スクリプトのデバッグこのような場合は、ローカルファイルのコードを確保するために送ることをお願いし、 " shを実行することができます- N "の構文を確認する場合は、期待通りの方法を評価する:


コード:
cat <<EOF > /tmp/test.script
    # this is a temporary location
    echo $VALUE1 \$VALUE1
EOF

  #5固定リンク)  
Old 2007年11月19日
rubionis rubionis is offline
登録ユーザー
  
 

参加日: 2007年8月
投稿: 18
おかげでgus2000 、

セパレータ\ EOFを、トリックは、 SSHのスクリプト内のすべての変数についてでした。もう1つの有益な情報を覚えておく!
これらの変数と、ところで私は、スクリプトの中で長いAwkのコマンドを使用している気をつけて(私の知る、私はしていますが、 \ $すべてのドルを持って逃走した。 )

しかし残念ながら、再びテストが失敗した場合:

引用:
トークンの近くに構文エラー`し'予期せぬ
にもかかわらず、 "大丈夫"だ。

だから私 メイン 質問のIFテストでは、残っている。でどのようにテストをif (または一般的なテストの下の[ cmd )スクリプトの中でsshを失敗せずに書くと、他のか?

編集rubionisで最終; 2008年4月15日に 06:58午後..理由:コードタグ
  #6固定リンク)  
Old 2007年11月19日
Lakris Lakris is offline
登録ユーザー
  
 

参加日: 2007年10月
投稿数: 246
あなたもあなたを読む文に回答を要求されますか?私からのssh以外(一制御端末)のセッションのような端末を持つことはできませんインタラクティブは、そのいずれかで動作する必要がありますあなたのような何かを期待するか、スクリプトをローカルでは" "何を、リモートから情報を収集する必要があると思うホストとプロセスをローカルで。

は、ローカルのスクリプトを作成し、ローカルに実行する:

引用:
# ! / binに/ bashの
Ubuntuのユーザのssh ls - lの@ \ 〜 /テスト
エコー"で始まるファイルは、カウントを続けますか? "
答えを読む
場合、 [ " $答" \u003dイ]
それから
Ubuntuのユーザのssh @ ls - lの' * '
その他の
終了
Fiの
あなたからあなたのローカルシェルによって解釈されない任意の引数は、バックスラッシュまたは単一引用符を保護する必要があります。
/ Lakris
  #7固定リンク)  
Old 2007年11月20日
edcrosbys edcrosbys is offline
読み取り専用
  
 

参加日: 2007年7月
投稿: 15
引用:
当初の投稿 Lakris View Post
私からのssh以外(一制御端末)のセッションのような端末を持つことはできませんインタラクティブは、そのいずれかで動作する必要がありますあなたのような何かを期待するか、スクリプトをローカルでは" "どんな情報を収集すると思う
X100 !

私はこの前にもデータを送信するための端末をいくつかのプログラムを私にかまてきた... rootのごみメールを取得します。

引用:
と一般的にはルールが私の心には、リモートマシンにはSSHを介してテストスクリプトを実行する必要条件は何ですか?
行動するためにローカルのシステム変数は、ファイルやプログラムの出力を除いてからの情報を読むことのようにどこにもされています。もし私がスクリプトと対話する一方、リモートI通常サイクルに多くのボックスの間、私はボックスの制御を行うと、このようなスクリプトを使用してデータを収集します。

このように:

Ubuntuのユーザのssh @ "はls - l /テスト"
エコー"で始まるファイルを数えている`続行か? "
答えを読む
場合、 [ " $答" \u003dイ]
それから
Ubuntuのユーザのssh @ "はls -ラ* "
Fiの

複数の契約書にサインするように効率的ではないアドオンは、ロジックをすべてのローカルです。フィルタアウトする場合は大量のデータにはgrepか何か( )とされている唯一の例外ではない-私がネットワークに優しくしてくださいよ。
Closed Thread

ブックマーク

タグ
はgrepやlinuxのUbuntuの

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

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

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

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




すべてGMT -4です。現在の時刻は 08:30午前


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

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