Sonunda sırrı keşfettiğim için kendi kendime cevap veriyorum. Ne -tseçeneği sshne de -lseçeneği bashkendi başına giriş kabuğuna yol açmaz - ancak birlikte çalışırlar.
ssh user@host.com -t 'cd /some/where; FOO=BAR NUMBER=42 bash -l'dizini değiştirir, ortam değişkenlerini ayarlar ve sonra doğru giriş kabuğunu başlatır (şimdiye kadar bulduğum tek fark /etc/motd, bu şekilde görüntülenmemesidir - normalde ssh's veya login' sorumluluktur, bash's - her şeyin göründüğünden başka ve tüm çevresel değişkenler aynıdır).
Bunlar sınırlı olmazsınız yüzden bu ortamı / dizin değişiklikleri, ssh'ın sonra ne PermitUserEnvironmentve ilgili ayarları (tam olarak planlanmış), ancak daha önce .bashrc/ .profileidam. Bu yukarı ve aşağı yönlüdür - bash init komut dosyalarından ayarlanan bir şeyi geçersiz kılmak daha zordur PS1, ancak tam olarak doğru değerleri sshkomut satırlarına toplamak ve .profiletüm ağır kaldırma işlemlerini yapmak daha kolaydır .
Ve gerçekten gerekliyse, .profilekomut satırıyla bir şey yürütmek için bash almak oldukça kolaydır ssh user@foo.com -t 'cd /mnt; echo ". ~/.bash_profile; PS1=\"\\h-\w \"" >~/xxx; bash --init-file ~/xxx'- bu şekilde konduğunda çok çirkin, ancak bu alternatif .profiledosyalar daha önce hazırlanabilir. (söyleyebildiğim kadarıyla komut dosyası bashiçin birkaç aday yeri var .profileve ilk bulunanı yürütecek - . fileböyle bir otomatik geri dönüşe sahip değil, bu yüzden bunu profileyapmak istiyorsanız normalinizin nerede olduğunu kontrol etmeniz gerekecek )