İçin karmaşık nedenlerle başka ana bilgisayara bağlanırken rsync / scp / sftp çalışır .bashrc. .Bashrc dosyanızın üstünde şu komutlardan birine sahip olmalısınız :
ya
[[ $- != *i* ]] && return
veya
[ -z "$PS1" ] && return
Yukarıdaki komutlardan herhangi biri, etkileşimli oturumlar için yalnızca .bashrc komutlarının geri kalanının yürütülmesine izin verir . Bildiğim kadarıyla başka herhangi bir oturum türü için onlara ihtiyacınız yok (ve gerçekten de bashrc bu tekniği kullanarak Arch ve Debian varsayılan bashrc gördüm).
Bununla birlikte, bashrc komutlarınızın etkileşimli olmayan oturumlar için bile çalışmasına izin vermek konusunda fazladan paranoyak olmak istiyorsanız, en azından bashrc'nizin böyle ( referans ) gibi çıktılar üreten komutlarını, yalnızca etkileşimli oturumlarda çalışacak şekilde sarmalısınız:
if shopt -q login_shell; then
# this is an interactive session, we _can_ display output
...code that produces output goes here...
fi
Diğerleri, bash_profile metin çıkışı komutları hareket öneririz öneririz ama bu her zaman iyi olup olmadığı hakkında şüphelerim var ( burada açıklanan nedenlerle )