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.
-sve sadece bashgerç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