2016-05-27 10 views
0

サーバにSSHを送信しようとしています。SSHの後の最初のウェルカムメッセージ(バナー)は、コマンドが正常に実行されないようにします。

は、以下のサーバーにサーバー上のエコーや他のサーバの端末が来る前にそのため、SSHに関連するコマンドが実行されるいくつかの定義済みのテキストがあるSSHした後に私のコード

!/bin/ksh 

ssh [email protected] <<EOF 
how to wait ? 

DIR_INPUT=/home/ 

LOGS= 
echo "Enter Deployment Date (YYYYMMDD e.g 20150631)" 
read DDATE 
DDATE=`echo $DDATE | sed s/[^0-9]*//g` 
echo "$DDATE" 
MGT=`echo "$DDATE" | cut -c5-6 2>/dev/null` 
DGT=`echo "$DDATE" | cut -c7-8 2>/dev/null` 
LEQ=`echo ${#DDATE}` 

echo $MGT 
echo $DGT 
echo $LEQ 

if [ "$MGT" -gt 12 ] || [ "$DGT" -gt 31 ] || [ "$LEQ" -gt 8 ] || [ "$LEQ" -lt 8 ] || [ "$MGT" -eq 0 ] || [ "$DGT" -eq 0 ] 
then 
       echo "INVAILID DATE" 
       exit 1 
fi 
echo "$DDATE" 
cd $DIR_INPUT 
EOF 

です。

ssh接続が完全に行われなくなるまで、いつか待つコマンドを入れる方法はありますか?

+0

[タグ:期待]を使用してください。それはあなたが望むものを正確に行い、それについてたくさんの質問があります。 – Jakuje

+0

私のUNIX上で動作していないと期待しています 他の方法がありますか?スリープコマンドや何か他のものを使うのが好きですか? –

+0

これを動作させたい場合は、おそらくローカルコンピュータ上にインストールする必要があります。 – Jakuje

答えて

0

あなたは、リモート・システム上のTTYを割り当てるから、それを防ぐために-TオプションでSSHを実行してみてください:

ssh -T [email protected] <<EOF 
... 

TTYのは、通常、対話型セッションのために使用されています。リモートシステム上のセッションにTTYがない場合、リモートシステムはこのテキストを送信しないことがあります。

関連する問題