私はCyberduck(GUI SCPクライアント)を使用しています。
私が送ったコマンドを通して:
chown -R username:username path/sp_furnicom17
次のエラーが発生します。
stdin: is not a tty
私は何が間違っていましたか?
答え1
通常、このメッセージが表示されます。
stdin: is not a tty
scp
あるいは、SFTPなどのものを使用する場合、rsync
これはすべてのセッションにTTYがあると想定しているターゲットシステムのログインスクリプトに何かがあることを意味します。これは間違っています。非対話型ログイン(SFTPscp
やrsync
SFTPなど)にはTTYはありません。
ログインスクリプトに端末設定を変更したり、他の入出力を実行しようとした場合は、セッションにTTYがあるかどうかに応じて条件を適用する必要があります。たとえば、~/.[bash_]profile
スクリプト.bashrc
に次のコマンドがあるとします。
echo "Today's fortune cookie:"
fortune
次のように変更する必要があります。
if tty -s
then
echo "Today's fortune cookie:"
fortune
fi