Yanıtlar:
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.
-s
ve sadece bash
gerçekten zorla kullanmak istiyorsanız gerekir bash
. Genellikle basitçessh user@remotehost < local_script.sh
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