Oturum açtıktan sonra PuTTY'de uzak bir komut nasıl çalıştırılır ve kabuğun çalışmaya devam etmesi sağlanır?


34

Yapmaya çalıştığım şey: komut satırından bir PuTTY oturumu başlatmak, uzak makineye giriş ve cdsağlanan dizine giriş yapmak .

putty.exe -agent -ssh some.host

Bu, bir oturum açacak ve benim varsayılan giriş adım ve özel anahtarımla giriş yapacak.

echo cd /some/remote/path/ > c:/stuff/cmd.txt
putty.exe -agent -ssh some.host -m 'c:/stuff/cmd.txt'

Bu bir oturum açar, oturum açar, bir komutu yürütür ( cdbu durumda) ve çıkar .

Bir oturumu nasıl açarım cd, oturum açar ve oturumu açık tutarım?

Arka plan: Windows altında emacs kullanıyorum ve sıklıkla Unix makinelerinde tramp & plink kullanarak dosyaları düzenliyorum. Bu uzak makine için bir PuTTY oturumu açan ve bu dosyanın dizinine giden bir kısayol tuşu yapmak istiyorum. Emacs tarafında önemli bir şey değil, ama PuTTY ile sıkışıp kaldım.

Yanıtlar:


31

Ne -myapar o PuTTY SSH sunucusu bu komutu (ler) YERİNE bir kabuk başlatmak için talimat yapar vardır. Emriniz bittiğinde, seans da aynı şekilde olur.

Kabuğu cdkomuttan sonra çalıştırmak istiyorsanız , açık bir şekilde şunu ekleyin cmd.txt:

cd /my/path ; /bin/bash

Ayrıca -m"nopty" ​​/ etkileşimli olmayan modu da ifade eder. Etkileşimli bir kabuk kullanmak için -tanahtarı kullanarak geçersiz kılmanız gerekir .

putty.exe -ssh example.com -m "c:\path\cmd.txt" -t

Alternatif kullanmak Kitty onun ile -cmdanahtarı, bu istediğini yapar (ve geçici bir dosya gerekmez).


Bunu (cmd.txt dosyasına / bin / bash ekleyerek) denedim ve bu işe yaramadı. Anladığım kadarıyla, bash etkileşimli olmayan modda başlar ve yürütmek için hiçbir kodu olmayan, çıkar. Bu şekilde etkileşimli bir kabuk başlatmanın bir yolu var mı?
Artyom V. Kireev

Bu arada, mc'yi başlatmaya çalıştım. :-) Cannot get terminal settings: Invalid argument (22) TERM environment variable needs set.
Vermedi

Buradaki kılavuz için teşekkürler, ancak -m "myfile.sh" -ttinycorelinux vm (/ bin / ash) ile bağlantı kurmak için macun kullanmaya çalışan bir sorunum var . Şu hatayı alıyorum: i.imgur.com/QN5oRXC.png ( betiğim başlıyor, betiğimdekiecho ".." her zaman ilk harfleri yasadışı karakterlerden sonra gösterecektir
Vincent De Smet

macun profilinde bir uzaktan komut yapılandırırsam, çalışır
Vincent De Smet

-1

Emacs'te başlattığınız sürtük seansı ve macun ile çalıştırdığınız kabuk oturumu tamamen ayrı işlemlerdir.

Emacs yapılandırmanızdaki ana bilgisayar başına varsayılan bir dizin belirlemenin bir yolu olup olmadığını görmek için serserinin yapılandırma seçeneklerini denetlemeniz daha iyi olabilir. Belki burada belgelenentramp-remote-path yapılandırma seçeneğiyle başlayabilirsiniz .

Bağlantı kurmak için macun kullanmanız gerekiyorsa, muhtemelen bir ssh tüneli kurmak ve bunun üzerine emacs / tramp ile bağlantı kurmak isteyebilirsiniz.


Emacs ve serseri burada önemsiz, ben sadece arka plan için ekledim. Bu, emacs'deki dosyayı düzenlemekle ilgili değildir, bu , o dosyayla başka bir şey yapmak için bir kabuk açmakla ilgilidir (örn. Bir komut dosyasını çalıştırın). "Macunu çalıştır, seni barındıranı seç, sonra istediğin yoldan cd" den bıktım ve bunu otomatikleştirmek istiyorum.
Artyom V. Kireev
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.