SORU
18 AĞUSTOS 2011, PERŞEMBE


Pseudo-terminal stdın bir terminal olmadığı için ayrılacak değil

Uzak sunucuda bazı dizinler oluşturur ve sonra scp uzak üzerine benim yerel makineden dosyaları kopyalamak için kullandığı paravan bir senaryo yazmaya çalışıyorum. Şimdiye kadar var:

ssh -t user@server<<EOT
DEP_ROOT='/home/matthewr/releases'
datestamp=$(date  %Y%m%d%H%M%S)
REL_DIR=$DEP_ROOT"/"$datestamp
if [ ! -d "$DEP_ROOT" ]; then
    echo "creating the root directory"
    mkdir $DEP_ROOT
fi
mkdir $REL_DIR
exit
EOT

scp ./dir1 user@server:$REL_DIR
scp ./dir2 user@server:$REL_DIR

Bunu çalıştırmak zaman ben bu mesajı alıyorum:

Pseudo-terminal will not be allocated because stdin is not a terminal.

Senaryo sonsuza kadar kapatır.

Genel anahtarımı sunucuda güvenilir ve tüm komutları komut sadece para cezası dışında çalıştırabilirsiniz. Herhangi bir fikir?

CEVAP
19 AĞUSTOS 2011, Cuma


ssh -t -t Eğer stdin bir terminal değil ise bile sözde-tty ayırma zorlamak için deneyin.

Ayrıca bakınız: Terminating SSH session executed by bash script

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • lissaandbeauty

    lissaandbeau

    24 Aralık 2011
  • Study with Substance P

    Study with S

    31 Mayıs 2008