ข้อความ“ stdin: ไม่ใช่ tty” จาก scp


2

ฉันได้รับข้อความนี้เมื่อฉันคัดลอกไฟล์โดยใช้ SCP "stdin: is not a tty"ไปยังเซิร์ฟเวอร์ มันทำให้ฉันหายไปได้อย่างไร? การถ่ายโอนก็โอเค

คำตอบ:


4

อาจเป็นเพราะ/etc/bashrcสคริปต์พยายามเรียกใช้ stty และ stdin ไม่ใช่ tty

คุณควรตรวจสอบให้แน่ใจว่าสคริปต์การเข้าสู่ระบบของคุณออกก่อนเวลาเมื่อมีการใช้งานในลักษณะที่ไม่โต้ตอบ

ในไวยากรณ์ csh สิ่งนี้มักจะทำโดยการเพิ่มสิ่งนี้ในสคริปต์การเข้าสู่ระบบของคุณ (ก่อนหน้าคำสั่งเช่นsttyนั้นจะมีประโยชน์สำหรับเซสชันแบบโต้ตอบเท่านั้น):

if ( ! $?USER || "$prompt" == "" || ! $?term ) then
    exit
endif

สิ่งเดียวกันสามารถทำได้ในการทุบตีโดยการเพิ่มต่อไปนี้ที่จุดเริ่มต้นของ.bashrc:

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.