Come posso assicurarmi che sorgenti ssh .profile e .bashrc al login senza tty?
Ho un Mac (10.6.8) che sto usando per varie attività UNIX-y come l'hosting di repository git. Ho accesso remoto abilitato tramite il pannello "Condivisione" delle Preferenze di Sistema. Quando I ssh nella macchina, bash origini ~/.profile , che ho impostato per generare il mio file ~/.bashrc e impostare il mio Percorso MacPorts . Il problema è che quando eseguo ssh senza tty , come questo:
ssh myhost echo \$PATH
O esegui un comando git che utilizza essenzialmente ssh nello stesso modo:
git clone ssh://myhost/~/code/myrepo.git
Il mio file ~/.profile non viene mai estratto, quindi la mia variabile $PATH manca /opt/local (dove MacPorts ha installato git ). Sono consapevole che:
- Posso configurare
gitsul mio computer locale per utilizzare/opt/local/bin/git-*sulla mia macchina remota - Non avrei questo problema se forzassi un
ttyconssh -t
Ma non voglio fare nessuna di quelle. Voglio che il mio computer remoto generi il mio file ~/.profile indipendentemente dal fatto che acceda o meno a un tty.
Come faccio a realizzare quel sogno?
Inoltre: ho controllato il comportamento su un paio di macchine Linux (Debian e Fedora), ed entrambi i sistemi sembrano aver trovato il file ~/.bashrc all'accesso, indipendentemente dal fatto che sia un tty . Ho avuto l'impressione che BSD e Linux usassero entrambi lo stesso OpenSSH e bash implementazioni, quindi sembra che la differenza di comportamento derivi da differenze nei file di configurazione /etc ?