Ich versuche, einen Remote-Befehl mit ssh auszuführen.
Ich brauche die Shell, die den Befehl zum Laden von .bashrc ausführt. Bis jetzt habe ich gelernt, dass ich verwenden kann bash -lc
dafür. Das Problem ist, dass ich einen Befehl ausführen kann, aber seine Argumente ignorieren kann
Im Allgemeinen möchte ich pm2 (Produktionsprozessmanager für Node.js) ausführen. mit einem Listenparameter, um mir die verfügbaren laufenden Aufgaben anzuzeigen.
wenn ich ausführen
ssh [email protected] bash -lc pm2 list
oder
ssh [email protected] bash -lc "pm2 list"
Ich bekomme die gleichen Ergebnisse. Es führt die Anwendung so aus, als ob ich überhaupt keine Argumente angegeben hätte.
hier habe ich pm2 das Argument 'list' zur Verfügung gestellt.
irgendwelche Ideen?
ssh [email protected] "bash -lc 'pm2 list'"
Antworten:
Wie wäre es mit:
ssh [email protected] "bash -lc 'pm2 list'"
quelle
"bash -lc \"$cmd\""