Je voulais une commande qui se comporte comme une commande locale car elle était nécessaire pour créer un stub, mais qui imprime en fait les résultats de la commande à distance.
OSX El Capitan
Enregistrez la source avec un nom de fichier de ls. Accordez l'autorisation d'exécution avec chmod + x ls. Tout ce que vous avez à faire, c'est 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
rien de spécial
Recommended Posts