SOURCE

document.write('<link rel="stylesheet" href="https://github.githubassets.com/assets/gist-embed-862c6e83e243.css">')
document.write('<div id=\"gist117515487\" class=\"gist\">\n    <div class=\"gist-file\" translate=\"no\">\n      <div class=\"gist-data\">\n        <div class=\"js-gist-file-update-container js-task-list-container file-box\">\n  <div id=\"file-commands-go\" class=\"file my-2\">\n    \n    <div itemprop=\"text\" class=\"Box-body p-0 blob-wrapper data type-go  \">\n\n        \n<div class=\"js-check-bidi js-blob-code-container blob-code-content\">\n\n  <template class=\"js-file-alert-template\">\n  <div data-view-component=\"true\" class=\"flash flash-warn flash-full d-flex flex-items-center\">\n  <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path fill-rule=\"evenodd\" d=\"M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z\"><\/path>\n<\/svg>\n  \n    <span>\n      This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.\n      <a href=\"https://github.co/hiddenchars\" target=\"_blank\">Learn more about bidirectional Unicode characters<\/a>\n    <\/span>\n\n\n  <div data-view-component=\"true\" class=\"flash-action\">      <a href=\"{{ revealButtonHref }}\" data-view-component=\"true\" class=\"btn-sm btn\">  Show hidden characters\n  \n<\/a>\n<\/div>\n<\/div><\/template>\n<template class=\"js-line-alert-template\">\n  <span aria-label=\"This line has hidden Unicode characters\" data-view-component=\"true\" class=\"line-alert tooltipped tooltipped-e\">\n    <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path fill-rule=\"evenodd\" d=\"M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z\"><\/path>\n<\/svg>\n<\/span><\/template>\n\n  <table data-hpc class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file js-search-container\" data-tab-size=\"8\" data-paste-markdown-skip data-tagsearch-lang=\"Go\" data-tagsearch-path=\"commands.go\">\n        <tr>\n          <td id=\"file-commands-go-L1\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"1\"><\/td>\n          <td id=\"file-commands-go-LC1\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>package<\/span> command<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L2\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"2\"><\/td>\n          <td id=\"file-commands-go-LC2\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L3\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"3\"><\/td>\n          <td id=\"file-commands-go-LC3\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>import<\/span> (<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L4\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"4\"><\/td>\n          <td id=\"file-commands-go-LC4\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-s>&quot;context&quot;<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L5\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"5\"><\/td>\n          <td id=\"file-commands-go-LC5\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-s>&quot;io&quot;<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L6\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"6\"><\/td>\n          <td id=\"file-commands-go-LC6\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-s>&quot;os/exec&quot;<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L7\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"7\"><\/td>\n          <td id=\"file-commands-go-LC7\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L8\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"8\"><\/td>\n          <td id=\"file-commands-go-LC8\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-s>&quot;github.com/melbahja/goph&quot;<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L9\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"9\"><\/td>\n          <td id=\"file-commands-go-LC9\" class=\"blob-code blob-code-inner js-file-line\">)<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L10\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"10\"><\/td>\n          <td id=\"file-commands-go-LC10\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L11\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"11\"><\/td>\n          <td id=\"file-commands-go-LC11\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>type<\/span> <span class=pl-smi>Desc<\/span> <span class=pl-k>struct<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L12\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"12\"><\/td>\n          <td id=\"file-commands-go-LC12\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Name<\/span>   <span class=pl-smi>string<\/span>          <span class=pl-s>\`json:&quot;name&quot;\`<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L13\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"13\"><\/td>\n          <td id=\"file-commands-go-LC13\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Args<\/span>   []<span class=pl-smi>string<\/span>        <span class=pl-s>\`json:&quot;args&quot;\`<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L14\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"14\"><\/td>\n          <td id=\"file-commands-go-LC14\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Env<\/span>    []<span class=pl-smi>string<\/span>        <span class=pl-s>\`json:&quot;env&quot;\`<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L15\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"15\"><\/td>\n          <td id=\"file-commands-go-LC15\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Stdin<\/span>  io.<span class=pl-smi>Reader<\/span>       <span class=pl-s>\`json:&quot;stdin&quot;\`<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L16\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"16\"><\/td>\n          <td id=\"file-commands-go-LC16\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Stdout<\/span> io.<span class=pl-smi>Writer<\/span>       <span class=pl-s>\`json:&quot;stdout&quot;\`<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L17\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"17\"><\/td>\n          <td id=\"file-commands-go-LC17\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Stderr<\/span> io.<span class=pl-smi>Writer<\/span>       <span class=pl-s>\`json:&quot;stderr&quot;\`<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L18\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"18\"><\/td>\n          <td id=\"file-commands-go-LC18\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Ctx<\/span>    context.<span class=pl-smi>Context<\/span> <span class=pl-s>\`json:&quot;ctx&quot;\`<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L19\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"19\"><\/td>\n          <td id=\"file-commands-go-LC19\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L20\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"20\"><\/td>\n          <td id=\"file-commands-go-LC20\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L21\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"21\"><\/td>\n          <td id=\"file-commands-go-LC21\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-c>// 抽象统一Command接口<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L22\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"22\"><\/td>\n          <td id=\"file-commands-go-LC22\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>type<\/span> <span class=pl-smi>Command<\/span> <span class=pl-k>interface<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L23\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"23\"><\/td>\n          <td id=\"file-commands-go-LC23\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Run<\/span>() <span class=pl-smi>error<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L24\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"24\"><\/td>\n          <td id=\"file-commands-go-LC24\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Start<\/span>() <span class=pl-smi>error<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L25\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"25\"><\/td>\n          <td id=\"file-commands-go-LC25\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Output<\/span>() ([]<span class=pl-smi>byte<\/span>, <span class=pl-smi>error<\/span>)<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L26\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"26\"><\/td>\n          <td id=\"file-commands-go-LC26\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>String<\/span>() <span class=pl-smi>string<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L27\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"27\"><\/td>\n          <td id=\"file-commands-go-LC27\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L28\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"28\"><\/td>\n          <td id=\"file-commands-go-LC28\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>type<\/span> <span class=pl-smi>Client<\/span> <span class=pl-k>interface<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L29\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"29\"><\/td>\n          <td id=\"file-commands-go-LC29\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Command<\/span>(<span class=pl-s1>Desc<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>Desc<\/span>) (<span class=pl-c1>*<\/span><span class=pl-smi>Command<\/span>, <span class=pl-smi>error<\/span>)<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L30\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"30\"><\/td>\n          <td id=\"file-commands-go-LC30\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L31\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"31\"><\/td>\n          <td id=\"file-commands-go-LC31\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L32\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"32\"><\/td>\n          <td id=\"file-commands-go-LC32\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>type<\/span> <span class=pl-smi>LocalCommand<\/span> <span class=pl-k>struct<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L33\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"33\"><\/td>\n          <td id=\"file-commands-go-LC33\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>*<\/span>exec.<span class=pl-smi>Cmd<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L34\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"34\"><\/td>\n          <td id=\"file-commands-go-LC34\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L35\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"35\"><\/td>\n          <td id=\"file-commands-go-LC35\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L36\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"36\"><\/td>\n          <td id=\"file-commands-go-LC36\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>func<\/span> (<span class=pl-s1>cmd<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>LocalCommand<\/span>) <span class=pl-en>Run<\/span>() <span class=pl-smi>error<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L37\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"37\"><\/td>\n          <td id=\"file-commands-go-LC37\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>return<\/span> <span class=pl-s1>cmd<\/span>.<span class=pl-c1>Cmd<\/span>.<span class=pl-en>Run<\/span>()<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L38\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"38\"><\/td>\n          <td id=\"file-commands-go-LC38\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L39\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"39\"><\/td>\n          <td id=\"file-commands-go-LC39\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>func<\/span> (<span class=pl-s1>cmd<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>LocalCommand<\/span>) <span class=pl-en>Start<\/span>() <span class=pl-smi>error<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L40\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"40\"><\/td>\n          <td id=\"file-commands-go-LC40\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>return<\/span> <span class=pl-s1>cmd<\/span>.<span class=pl-c1>Cmd<\/span>.<span class=pl-en>Start<\/span>()<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L41\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"41\"><\/td>\n          <td id=\"file-commands-go-LC41\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L42\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"42\"><\/td>\n          <td id=\"file-commands-go-LC42\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>func<\/span> (<span class=pl-s1>cmd<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>LocalCommand<\/span>) <span class=pl-en>Output<\/span>() ([]<span class=pl-smi>byte<\/span>, <span class=pl-smi>error<\/span>) {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L43\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"43\"><\/td>\n          <td id=\"file-commands-go-LC43\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>return<\/span> <span class=pl-s1>cmd<\/span>.<span class=pl-c1>Cmd<\/span>.<span class=pl-en>Output<\/span>()<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L44\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"44\"><\/td>\n          <td id=\"file-commands-go-LC44\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L45\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"45\"><\/td>\n          <td id=\"file-commands-go-LC45\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>func<\/span> (<span class=pl-s1>cmd<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>LocalCommand<\/span>) <span class=pl-en>String<\/span>() <span class=pl-smi>string<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L46\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"46\"><\/td>\n          <td id=\"file-commands-go-LC46\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>return<\/span> <span class=pl-s1>cmd<\/span>.<span class=pl-c1>Cmd<\/span>.<span class=pl-en>String<\/span>()<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L47\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"47\"><\/td>\n          <td id=\"file-commands-go-LC47\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L48\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"48\"><\/td>\n          <td id=\"file-commands-go-LC48\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L49\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"49\"><\/td>\n          <td id=\"file-commands-go-LC49\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>type<\/span> <span class=pl-smi>RemoteCommand<\/span> <span class=pl-k>struct<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L50\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"50\"><\/td>\n          <td id=\"file-commands-go-LC50\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Cmd<\/span>    <span class=pl-c1>*<\/span>goph.<span class=pl-smi>Cmd<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L51\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"51\"><\/td>\n          <td id=\"file-commands-go-LC51\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>Client<\/span> <span class=pl-c1>*<\/span>goph.<span class=pl-smi>Client<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L52\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"52\"><\/td>\n          <td id=\"file-commands-go-LC52\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L53\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"53\"><\/td>\n          <td id=\"file-commands-go-LC53\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L54\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"54\"><\/td>\n          <td id=\"file-commands-go-LC54\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>func<\/span> (<span class=pl-s1>cmd<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>RemoteCommand<\/span>) <span class=pl-en>Run<\/span>() <span class=pl-smi>error<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L55\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"55\"><\/td>\n          <td id=\"file-commands-go-LC55\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>return<\/span> <span class=pl-s1>cmd<\/span>.<span class=pl-c1>Cmd<\/span>.<span class=pl-en>Run<\/span>()<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L56\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"56\"><\/td>\n          <td id=\"file-commands-go-LC56\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L57\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"57\"><\/td>\n          <td id=\"file-commands-go-LC57\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>func<\/span> (<span class=pl-s1>cmd<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>RemoteCommand<\/span>) <span class=pl-en>Start<\/span>() <span class=pl-smi>error<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L58\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"58\"><\/td>\n          <td id=\"file-commands-go-LC58\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>return<\/span> <span class=pl-s1>cmd<\/span>.<span class=pl-c1>Cmd<\/span>.<span class=pl-en>Start<\/span>()<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L59\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"59\"><\/td>\n          <td id=\"file-commands-go-LC59\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L60\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"60\"><\/td>\n          <td id=\"file-commands-go-LC60\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>func<\/span> (<span class=pl-s1>cmd<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>RemoteCommand<\/span>) <span class=pl-en>Output<\/span>() ([]<span class=pl-smi>byte<\/span>, <span class=pl-smi>error<\/span>) {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L61\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"61\"><\/td>\n          <td id=\"file-commands-go-LC61\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>return<\/span> <span class=pl-s1>cmd<\/span>.<span class=pl-c1>Cmd<\/span>.<span class=pl-en>Output<\/span>()<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L62\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"62\"><\/td>\n          <td id=\"file-commands-go-LC62\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L63\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"63\"><\/td>\n          <td id=\"file-commands-go-LC63\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>func<\/span> (<span class=pl-s1>cmd<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>RemoteCommand<\/span>) <span class=pl-en>String<\/span>() <span class=pl-smi>string<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L64\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"64\"><\/td>\n          <td id=\"file-commands-go-LC64\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>return<\/span> <span class=pl-s1>cmd<\/span>.<span class=pl-c1>Cmd<\/span>.<span class=pl-en>String<\/span>()<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L65\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"65\"><\/td>\n          <td id=\"file-commands-go-LC65\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L66\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"66\"><\/td>\n          <td id=\"file-commands-go-LC66\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L67\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"67\"><\/td>\n          <td id=\"file-commands-go-LC67\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>type<\/span> <span class=pl-smi>SSHClient<\/span> <span class=pl-k>struct<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L68\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"68\"><\/td>\n          <td id=\"file-commands-go-LC68\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-c1>client<\/span> <span class=pl-c1>*<\/span>goph.<span class=pl-smi>Client<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L69\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"69\"><\/td>\n          <td id=\"file-commands-go-LC69\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L70\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"70\"><\/td>\n          <td id=\"file-commands-go-LC70\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L71\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"71\"><\/td>\n          <td id=\"file-commands-go-LC71\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>func<\/span> (<span class=pl-s1>client<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>SSHClient<\/span>) <span class=pl-en>Command<\/span>(<span class=pl-s1>desc<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>Desc<\/span>) (<span class=pl-smi>Command<\/span>, <span class=pl-smi>error<\/span>) {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L72\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"72\"><\/td>\n          <td id=\"file-commands-go-LC72\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>var<\/span> <span class=pl-s1>cmd<\/span> <span class=pl-c1>*<\/span>goph.<span class=pl-smi>Cmd<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L73\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"73\"><\/td>\n          <td id=\"file-commands-go-LC73\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>var<\/span> <span class=pl-s1>err<\/span> <span class=pl-smi>error<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L74\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"74\"><\/td>\n          <td id=\"file-commands-go-LC74\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>if<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Ctx<\/span> <span class=pl-c1>!=<\/span> <span class=pl-c1>nil<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L75\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"75\"><\/td>\n          <td id=\"file-commands-go-LC75\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-s1>cmd<\/span>, <span class=pl-s1>err<\/span> <span class=pl-c1>=<\/span> <span class=pl-s1>client<\/span>.<span class=pl-c1>client<\/span>.<span class=pl-en>CommandContext<\/span>(<span class=pl-s1>desc<\/span>.<span class=pl-c1>Ctx<\/span>, <span class=pl-s1>desc<\/span>.<span class=pl-c1>Name<\/span>, <span class=pl-s1>desc<\/span>.<span class=pl-c1>Args<\/span><span class=pl-c1>...<\/span>)<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L76\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"76\"><\/td>\n          <td id=\"file-commands-go-LC76\" class=\"blob-code blob-code-inner js-file-line\">	} <span class=pl-k>else<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L77\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"77\"><\/td>\n          <td id=\"file-commands-go-LC77\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-s1>cmd<\/span>, <span class=pl-s1>err<\/span> <span class=pl-c1>=<\/span> <span class=pl-s1>client<\/span>.<span class=pl-c1>client<\/span>.<span class=pl-en>Command<\/span>(<span class=pl-s1>desc<\/span>.<span class=pl-c1>Name<\/span>, <span class=pl-s1>desc<\/span>.<span class=pl-c1>Args<\/span><span class=pl-c1>...<\/span>)<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L78\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"78\"><\/td>\n          <td id=\"file-commands-go-LC78\" class=\"blob-code blob-code-inner js-file-line\">	}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L79\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"79\"><\/td>\n          <td id=\"file-commands-go-LC79\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>if<\/span> <span class=pl-s1>err<\/span> <span class=pl-c1>!=<\/span> <span class=pl-c1>nil<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L80\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"80\"><\/td>\n          <td id=\"file-commands-go-LC80\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-k>return<\/span> <span class=pl-c1>nil<\/span>, <span class=pl-s1>err<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L81\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"81\"><\/td>\n          <td id=\"file-commands-go-LC81\" class=\"blob-code blob-code-inner js-file-line\">	}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L82\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"82\"><\/td>\n          <td id=\"file-commands-go-LC82\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>if<\/span> <span class=pl-en>len<\/span>(<span class=pl-s1>desc<\/span>.<span class=pl-c1>Env<\/span>) <span class=pl-c1>!=<\/span> <span class=pl-c1>0<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L83\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"83\"><\/td>\n          <td id=\"file-commands-go-LC83\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-s1>cmd<\/span>.<span class=pl-c1>Env<\/span> <span class=pl-c1>=<\/span> <span class=pl-en>append<\/span>(<span class=pl-s1>cmd<\/span>.<span class=pl-c1>Env<\/span>, <span class=pl-s1>desc<\/span>.<span class=pl-c1>Env<\/span><span class=pl-c1>...<\/span>)<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L84\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"84\"><\/td>\n          <td id=\"file-commands-go-LC84\" class=\"blob-code blob-code-inner js-file-line\">	}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L85\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"85\"><\/td>\n          <td id=\"file-commands-go-LC85\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>if<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Stdin<\/span> <span class=pl-c1>!=<\/span> <span class=pl-c1>nil<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L86\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"86\"><\/td>\n          <td id=\"file-commands-go-LC86\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-s1>cmd<\/span>.<span class=pl-c1>Stdin<\/span> <span class=pl-c1>=<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Stdin<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L87\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"87\"><\/td>\n          <td id=\"file-commands-go-LC87\" class=\"blob-code blob-code-inner js-file-line\">	}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L88\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"88\"><\/td>\n          <td id=\"file-commands-go-LC88\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>if<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Stdout<\/span> <span class=pl-c1>!=<\/span> <span class=pl-c1>nil<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L89\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"89\"><\/td>\n          <td id=\"file-commands-go-LC89\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-s1>cmd<\/span>.<span class=pl-c1>Stdout<\/span> <span class=pl-c1>=<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Stdout<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L90\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"90\"><\/td>\n          <td id=\"file-commands-go-LC90\" class=\"blob-code blob-code-inner js-file-line\">	}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L91\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"91\"><\/td>\n          <td id=\"file-commands-go-LC91\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>if<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Stderr<\/span> <span class=pl-c1>!=<\/span> <span class=pl-c1>nil<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L92\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"92\"><\/td>\n          <td id=\"file-commands-go-LC92\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-s1>cmd<\/span>.<span class=pl-c1>Stderr<\/span> <span class=pl-c1>=<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Stderr<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L93\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"93\"><\/td>\n          <td id=\"file-commands-go-LC93\" class=\"blob-code blob-code-inner js-file-line\">	}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L94\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"94\"><\/td>\n          <td id=\"file-commands-go-LC94\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>return<\/span> <span class=pl-c1>&amp;<\/span><span class=pl-smi>RemoteCommand<\/span>{<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L95\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"95\"><\/td>\n          <td id=\"file-commands-go-LC95\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-c1>Cmd<\/span>: <span class=pl-s1>cmd<\/span>,<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L96\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"96\"><\/td>\n          <td id=\"file-commands-go-LC96\" class=\"blob-code blob-code-inner js-file-line\">	}, <span class=pl-c1>nil<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L97\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"97\"><\/td>\n          <td id=\"file-commands-go-LC97\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L98\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"98\"><\/td>\n          <td id=\"file-commands-go-LC98\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L99\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"99\"><\/td>\n          <td id=\"file-commands-go-LC99\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>type<\/span> <span class=pl-smi>LocalClient<\/span> <span class=pl-k>struct<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L100\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"100\"><\/td>\n          <td id=\"file-commands-go-LC100\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L101\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"101\"><\/td>\n          <td id=\"file-commands-go-LC101\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L102\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"102\"><\/td>\n          <td id=\"file-commands-go-LC102\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>func<\/span> (<span class=pl-s1>client<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>LocalClient<\/span>) <span class=pl-en>Command<\/span>(<span class=pl-s1>desc<\/span> <span class=pl-c1>*<\/span><span class=pl-smi>Desc<\/span>) (<span class=pl-smi>Command<\/span>, <span class=pl-smi>error<\/span>) {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L103\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"103\"><\/td>\n          <td id=\"file-commands-go-LC103\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>var<\/span> <span class=pl-s1>cmd<\/span> <span class=pl-c1>*<\/span>exec.<span class=pl-smi>Cmd<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L104\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"104\"><\/td>\n          <td id=\"file-commands-go-LC104\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>var<\/span> <span class=pl-s1>err<\/span> <span class=pl-smi>error<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L105\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"105\"><\/td>\n          <td id=\"file-commands-go-LC105\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>if<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Ctx<\/span> <span class=pl-c1>!=<\/span> <span class=pl-c1>nil<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L106\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"106\"><\/td>\n          <td id=\"file-commands-go-LC106\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-s1>cmd<\/span> <span class=pl-c1>=<\/span> <span class=pl-s1>exec<\/span>.<span class=pl-en>CommandContext<\/span>(<span class=pl-s1>desc<\/span>.<span class=pl-c1>Ctx<\/span>, <span class=pl-s1>desc<\/span>.<span class=pl-c1>Name<\/span>, <span class=pl-s1>desc<\/span>.<span class=pl-c1>Args<\/span><span class=pl-c1>...<\/span>)<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L107\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"107\"><\/td>\n          <td id=\"file-commands-go-LC107\" class=\"blob-code blob-code-inner js-file-line\">	} <span class=pl-k>else<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L108\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"108\"><\/td>\n          <td id=\"file-commands-go-LC108\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-s1>cmd<\/span> <span class=pl-c1>=<\/span> <span class=pl-s1>exec<\/span>.<span class=pl-en>Command<\/span>(<span class=pl-s1>desc<\/span>.<span class=pl-c1>Name<\/span>, <span class=pl-s1>desc<\/span>.<span class=pl-c1>Args<\/span><span class=pl-c1>...<\/span>)<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L109\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"109\"><\/td>\n          <td id=\"file-commands-go-LC109\" class=\"blob-code blob-code-inner js-file-line\">	}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L110\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"110\"><\/td>\n          <td id=\"file-commands-go-LC110\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>if<\/span> <span class=pl-s1>err<\/span> <span class=pl-c1>!=<\/span> <span class=pl-c1>nil<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L111\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"111\"><\/td>\n          <td id=\"file-commands-go-LC111\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-k>return<\/span> <span class=pl-c1>nil<\/span>, <span class=pl-s1>err<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L112\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"112\"><\/td>\n          <td id=\"file-commands-go-LC112\" class=\"blob-code blob-code-inner js-file-line\">	}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L113\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"113\"><\/td>\n          <td id=\"file-commands-go-LC113\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>if<\/span> <span class=pl-en>len<\/span>(<span class=pl-s1>desc<\/span>.<span class=pl-c1>Env<\/span>) <span class=pl-c1>!=<\/span> <span class=pl-c1>0<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L114\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"114\"><\/td>\n          <td id=\"file-commands-go-LC114\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-s1>cmd<\/span>.<span class=pl-c1>Env<\/span> <span class=pl-c1>=<\/span> <span class=pl-en>append<\/span>(<span class=pl-s1>cmd<\/span>.<span class=pl-c1>Env<\/span>, <span class=pl-s1>desc<\/span>.<span class=pl-c1>Env<\/span><span class=pl-c1>...<\/span>)<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L115\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"115\"><\/td>\n          <td id=\"file-commands-go-LC115\" class=\"blob-code blob-code-inner js-file-line\">	}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L116\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"116\"><\/td>\n          <td id=\"file-commands-go-LC116\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>if<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Stdin<\/span> <span class=pl-c1>!=<\/span> <span class=pl-c1>nil<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L117\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"117\"><\/td>\n          <td id=\"file-commands-go-LC117\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-s1>cmd<\/span>.<span class=pl-c1>Stdin<\/span> <span class=pl-c1>=<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Stdin<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L118\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"118\"><\/td>\n          <td id=\"file-commands-go-LC118\" class=\"blob-code blob-code-inner js-file-line\">	}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L119\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"119\"><\/td>\n          <td id=\"file-commands-go-LC119\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>if<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Stdout<\/span> <span class=pl-c1>!=<\/span> <span class=pl-c1>nil<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L120\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"120\"><\/td>\n          <td id=\"file-commands-go-LC120\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-s1>cmd<\/span>.<span class=pl-c1>Stdout<\/span> <span class=pl-c1>=<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Stdout<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L121\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"121\"><\/td>\n          <td id=\"file-commands-go-LC121\" class=\"blob-code blob-code-inner js-file-line\">	}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L122\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"122\"><\/td>\n          <td id=\"file-commands-go-LC122\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>if<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Stderr<\/span> <span class=pl-c1>!=<\/span> <span class=pl-c1>nil<\/span> {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L123\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"123\"><\/td>\n          <td id=\"file-commands-go-LC123\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-s1>cmd<\/span>.<span class=pl-c1>Stderr<\/span> <span class=pl-c1>=<\/span> <span class=pl-s1>desc<\/span>.<span class=pl-c1>Stderr<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L124\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"124\"><\/td>\n          <td id=\"file-commands-go-LC124\" class=\"blob-code blob-code-inner js-file-line\">	}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L125\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"125\"><\/td>\n          <td id=\"file-commands-go-LC125\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>return<\/span> <span class=pl-c1>&amp;<\/span><span class=pl-smi>LocalCommand<\/span>{<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L126\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"126\"><\/td>\n          <td id=\"file-commands-go-LC126\" class=\"blob-code blob-code-inner js-file-line\">		<span class=pl-c1>Cmd<\/span>: <span class=pl-s1>cmd<\/span>,<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L127\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"127\"><\/td>\n          <td id=\"file-commands-go-LC127\" class=\"blob-code blob-code-inner js-file-line\">	}, <span class=pl-c1>nil<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L128\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"128\"><\/td>\n          <td id=\"file-commands-go-LC128\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L129\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"129\"><\/td>\n          <td id=\"file-commands-go-LC129\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L130\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"130\"><\/td>\n          <td id=\"file-commands-go-LC130\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>func<\/span> <span class=pl-en>newRemote<\/span>(<span class=pl-s1>client<\/span> <span class=pl-c1>*<\/span>goph.<span class=pl-smi>Client<\/span>, <span class=pl-s1>name<\/span> <span class=pl-smi>string<\/span>, <span class=pl-s1>args<\/span> <span class=pl-c1>...<\/span><span class=pl-smi>string<\/span>) (<span class=pl-smi>Command<\/span>, <span class=pl-smi>error<\/span>) {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L131\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"131\"><\/td>\n          <td id=\"file-commands-go-LC131\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>return<\/span> <span class=pl-s1>client<\/span>.<span class=pl-en>Command<\/span>(<span class=pl-s1>name<\/span>, <span class=pl-s1>args<\/span><span class=pl-c1>...<\/span>)<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L132\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"132\"><\/td>\n          <td id=\"file-commands-go-LC132\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L133\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"133\"><\/td>\n          <td id=\"file-commands-go-LC133\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L134\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"134\"><\/td>\n          <td id=\"file-commands-go-LC134\" class=\"blob-code blob-code-inner js-file-line\"><span class=pl-k>func<\/span> <span class=pl-en>newLocal<\/span>(<span class=pl-s1>name<\/span> <span class=pl-smi>string<\/span>, <span class=pl-s1>args<\/span> <span class=pl-c1>...<\/span><span class=pl-smi>string<\/span>) (<span class=pl-smi>Command<\/span>, <span class=pl-smi>error<\/span>) {<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L135\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"135\"><\/td>\n          <td id=\"file-commands-go-LC135\" class=\"blob-code blob-code-inner js-file-line\">	<span class=pl-k>return<\/span> <span class=pl-s1>exec<\/span>.<span class=pl-en>Command<\/span>(<span class=pl-s1>name<\/span>, <span class=pl-s1>args<\/span><span class=pl-c1>...<\/span>), <span class=pl-c1>nil<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-commands-go-L136\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"136\"><\/td>\n          <td id=\"file-commands-go-LC136\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n        <\/tr>\n  <\/table>\n<\/div>\n\n\n    <\/div>\n\n\n  <\/div>\n<\/div>\n\n      <\/div>\n      <div class=\"gist-meta\">\n        <a href=\"https://gist.github.com/jpanda-cn/300fce757f16b7c37c2910c0ce945fe8/raw/e54a724002904025d32c460fe6476dad571d804f/commands.go\" style=\"float:right\">view raw<\/a>\n        <a href=\"https://gist.github.com/jpanda-cn/300fce757f16b7c37c2910c0ce945fe8#file-commands-go\">\n          commands.go\n        <\/a>\n        hosted with &#10084; by <a href=\"https://github.com\">GitHub<\/a>\n      <\/div>\n    <\/div>\n<\/div>\n')
console 命令行工具 X clear

                    
>
console