SSH üzerinden uzak sunucuda yerel kabuk betiği nasıl çalıştırılır?


Yanıtlar:


17
ssh user@remotehost "bash -s" < local_script.sh

-s bash'ı standart girdiden okur.

Senaryonuza argümanlar iletmeniz gerekiyorsa:

ssh user@remotehost "bash -s" -- < local_script.sh "your_arg" "--aswitch" "avalue"

Çift tireyi --(komut seçeneklerinin sonunu gösteren) ve bağımsız değişkenlerin çevresindeki tırnak işaretlerini not edin.


Bunu hatırlamak zorundayım. Lütfen bunun sizin için işe yarayıp yaramadığını bize bildirin ve yanıtı kabul edildi olarak işaretlemeyi unutmayın.
Argusvision

3
Gerek yok -sve sadece bashgerçekten zorla kullanmak istiyorsanız gerekir bash. Genellikle basitçessh user@remotehost < local_script.sh
janos

1
yerel komut dosyasında işlenen varsa ne olur?
kmassada

Ben "yürütmek için bir komut dosyası var örneğin" sh setup.sh arg1 arg2 arg3 "nasıl yürütülür
Amarjit Singh

4

phoibos cevabı benim için çalışıyor.

ssh user@remotehost "bash -s" < local_script.sh

Ancak komut dosyanızın açıkça exit komutunu aradığından emin olmanız gerekir; aksi takdirde komut dosyası yürütüldükten sonra uzak sunucuda oturumunuz açık kalır.

Kısa olmak gerekirse, bunu sonuna kadar koymayı unutmayın local_script.sh:

exit 0
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.