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

  • Alan Fullmer

    Alan Fullmer

    3 EYLÜL 2010
  • Chuck Testa

    Chuck Testa

    14 AĞUSTOS 2011
  • Need for Speed

    Need for Spe

    8 ŞUBAT 2006