Perché "echo ''" in / etc / bashrc causa il blocco di scp?

4

Sto copiando directory da una macchina Snow Leopard a una macchina Tiger usando scp -r e per qualche ragione, sembra che la linea finale della% ( /etc/bashrc ) della macchina target (Tiger) di destinazione causi il blocco di scp . Quando elogiato, funziona come previsto.

Perché?

Non ho mai visto questo comportamento su nessuna delle mie Slackware, Ubuntu, Gentoo, SuSE, Mandrake o persino macchine Apple. Questa parte di un recente aggiornamento di sicurezza 10.6? echo '' ha funzionato come previsto con quella linea fino a poco tempo fa.

    
posta msanford 09.05.2011 - 16:59
fonte

1 risposta

2

Questo sembra il tuo problema:

In realtà non dovresti pubblicare elementi nel tuo profilo a meno che tu non stia entrando in modo interattivo. Sembra che SCP sia sensibile ad esso (potenzialmente, a seconda di molti fattori, ne sono sicuro). Puoi testare l'interattività in questo modo:

Testo copiato per riferimento:

To determine within a startup script whether Bash is running 
interactively or not, examine the variable $PS1; it is unset in non-
interactive shells, and set in interactive shells. Thus:

if [ -z "$PS1" ]; then
        echo This shell is not interactive
else
        echo This shell is interactive
fi

Alternatively, startup scripts may test the value of the '-' special 
parameter. It contains i when the shell is interactive. For example:

case "$-" in
*i*)    echo This shell is interactive ;;
*)  echo This shell is not interactive ;;
esac
    
risposta data 12.05.2011 - 01:01
fonte

Leggi altre domande sui tag