Ekran oturumu oluştururken ekran penceresinde bir komutu otomatik olarak çalıştırma


0

.Screen rc cihazımı bir ekran oturumu oluştururken 10 pencere oluşturacak şekilde yapılandırdım.

 screen -t task1      0
 screen -t task2      1
 screen -t task3      2
 .
 .

İstediğim şey, bir ekran oturumu ne zaman oluştursam, her pencerenin bir makineye geçmesi gerekir. Gibi çeşitli şeyler denedim

 screen -t task1      0 "ssh -p 22 root@x.x.x.x"

 screen -t task1      0 bash "ssh -p 22 root@x.x.x.x"

Ancak çalışıyor gibi görünmüyor.

Yanıtlar:


2

Senin problemin alıntı.

screen -t task1 1 "ssh foo@bar"
screen -t task2 2 bash "ssh foo@bar"

İlk satır "" adında bir komut çalıştırmayı deneyecek ssh foo@bar "kelimelere ayırmak yerine; alıntı yapmadan deneyin.

İkinci satır bash'a "adlı bir betiği çalıştırmasını söyleyecektir. ssh foo@bar "bir komut olarak ayrıştırmak yerine; -c bayrak:

screen -t task1 1 ssh foo@bar
screen -t task2 2 bash -c "ssh foo@bar"

Tam olarak ne olduğunu denemek için, screenrc'inizden gelen etkileşimleri etkileşimli bir oturuma yapıştırın. Komut karakterinizin varsayılan olduğunu varsayarak, deneyin ^a: Bir ekran komut satırının eşdeğerini almak için.

^a:screen -t task1 2 "ssh foo@bar"

.. size hata mesajını vermeli
Cannot exec 'ssh foo@bar': No such file or directory

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.