Ich wollte einen Befehl, der sich wie ein lokaler Befehl verhält, weil er zum Erstellen eines Stubs benötigt wurde, aber die Befehlsergebnisse tatsächlich remote druckt.
OSX El Capitan
Speichern Sie die Quelle mit dem Dateinamen ls. Erteilen Sie die Ausführungsberechtigung mit chmod + x ls. Alles was Sie tun müssen, ist ls.
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
import sys
import os
from subprocess import call
argvs = sys.argv
param_hostname = '1.2.3.4'
param_username = 'docker'
param_port = '60000'
param_command = os.path.basename(argvs[0])
param_command_param = ' '.join(argvs[1:])
cmd = '/usr/bin/ssh -l %s -p %s %s %s %s' % (
param_username, str(param_port), param_hostname, param_command, param_command_param)
call( cmd.strip().split(' ') )
butada-mac:remote_exec_like_a_local butada$ ./ls -l
nichts Besonderes
Recommended Posts