![]() |
|
|
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午前 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
条件は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午後..理由:コードのタグを追加 |
|
||||
|
はい、私は、スクリプトの先頭に# ! / binに/やってみると言うのを忘れた。
と私が実際に戻ってスクリプトでは、 (はい私は、スクリプトの中で紛争の特殊文字を認識している) 、私はダニを持っていないの` sは例のよう。私は、 sshのスクリプト内のすべての特殊文字を避けるには、 [ OK ]を探すスクリプトを言ってやるがいいですか? だから私の質問ですが、もしあったとしても知られている紛争時にSSHのスクリプトで試験条件を使用しています。は私の認識ではない、あるいは他の言葉ではSSHのスクリプトで試験条件の一般的なフォーマットされている。午前または私は自分のスクリプトの中で何か足りない? 迅速な返事をいただきありがとうございます。 |
|
||||
|
実際に、シングルエンドの場合は、オープンを閉じる必要がありますを引用している。 しかし... ...あなたより大きな問題を抱えているが、これは* *リモートスクリプトです。そのためには、このようなステートメント: コード:
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
|
|
||||
|
おかげでgus2000 、
セパレータ\ EOFを、トリックは、 SSHのスクリプト内のすべての変数についてでした。もう1つの有益な情報を覚えておく! これらの変数と、ところで私は、スクリプトの中で長いAwkのコマンドを使用している気をつけて(私の知る、私はしていますが、 \ $すべてのドルを持って逃走した。 ) しかし残念ながら、再びテストが失敗した場合: 引用:
だから私 メイン 質問のIFテストでは、残っている。でどのようにテストをif (または一般的なテストの下の[ cmd )スクリプトの中でsshを失敗せずに書くと、他のか? 編集rubionisで最終; 2008年4月15日に 06:58午後..理由:コードタグ |
|
||||
|
あなたもあなたを読む文に回答を要求されますか?私からのssh以外(一制御端末)のセッションのような端末を持つことはできませんインタラクティブは、そのいずれかで動作する必要がありますあなたのような何かを期待するか、スクリプトをローカルでは" "何を、リモートから情報を収集する必要があると思うホストとプロセスをローカルで。
は、ローカルのスクリプトを作成し、ローカルに実行する: 引用:
/ Lakris |
|
||||
|
引用:
私はこの前にもデータを送信するための端末をいくつかのプログラムを私にかまてきた... rootのごみメールを取得します。 引用:
このように: Ubuntuのユーザのssh @ "はls - l /テスト" エコー"で始まるファイルを数えている`続行か? " 答えを読む 場合、 [ " $答" \u003dイ] それから Ubuntuのユーザのssh @ "はls -ラ* " Fiの 複数の契約書にサインするように効率的ではないアドオンは、ロジックをすべてのローカルです。フィルタアウトする場合は大量のデータにはgrepか何か( )とされている唯一の例外ではない-私がネットワークに優しくしてくださいよ。 |
![]() |
| ブックマーク |
| タグ |
| はgrepや、 linuxの、 Ubuntuの |
| スレッドツール | このスレッドを検索 |
| 表示モード | このスレッド |
|
|