diff --git a/ssh-host.py b/ssh-host.py index e2912f9..6b312de 100755 --- a/ssh-host.py +++ b/ssh-host.py @@ -17,15 +17,18 @@ if __name__ == "__main__": parser.add_argument('name',help='name of config file to use (sans .cfg)') parser.add_argument('arg',nargs = '*',help = 'command to be run') args = parser.parse_args() - if args.pre_script: - pre = '{HOME}/.ssh/config/{}'.format(args.pre_script,HOME=HOME) - subprocess.check_call(pre) - if args.wan: - host = cp['wan'][args.name] - elif args.lan: - host = cp['lan'][args.name] - cmd = ['ssh','-F','{HOME}/.ssh/config/{}.cfg'.format(args.name,HOME=HOME)] - if args.ssh_opt: - cmd += shlex.split(args.ssh_opt.replace('+','-')) - cmd += [host] + args.arg - subprocess.call(cmd) \ No newline at end of file + try: + if args.pre_script: + pre = '{HOME}/.ssh/config/{}'.format(args.pre_script,HOME=HOME) + subprocess.check_call(pre) + if args.wan: + host = cp['wan'][args.name] + elif args.lan: + host = cp['lan'][args.name] + cmd = ['ssh','-F','{HOME}/.ssh/config/{}.cfg'.format(args.name,HOME=HOME)] + if args.ssh_opt: + cmd += shlex.split(args.ssh_opt.replace('+','-')) + cmd += [host] + args.arg + subprocess.call(cmd) + except KeyboardInterrupt: + pass \ No newline at end of file