1

「admin」サーバーにあるリモート シェル スクリプトを引数付きで実行できません。

ssh koliwada@admin "~/bin/addautomaps $groupentry $homeentry $ticket"

「groupentry」と「homeentry」は以下の通り

user1:*:52940:OWNER-user1
user1       -rw,intr,hard,rsize=32768,wsize=32768 basinas01:/ifs/basinas01/home/&

スクリプトは管理サーバーの ~/bin/addautomaps にあります。

エラーが表示されます。

tput: No value for $TERM and no -T specified

また、引数も正しく渡されていません。「ssh -t ...」も使用してみましたが、うまくいきません。

4

1 に答える 1

0

質問に逆の順序で (または最も深刻なものから最も深刻でないものへ) 回答します。

引数 (スペースを含む) が正しく渡されないという問題は、コマンド文字列をローカルで引用しているときに、実際にリモート マシンで実行されているときにそれらを引用していないことです。

つまり、変数が展開された単一の文字列を生成していますが、展開された値をスペースで分割しないようにリモートシステムに指示するものは何もありません。

これを修正するには、リモート シェルのコマンド内の引数と、ssh の文字列全体を引用符で囲む必要があります。

ここでの私の答えは、いくつかの説明に役立つかもしれません(これは同様の問題です)。

tput問題」はおそらく単なる警告であり、色付け/様式化などを気にしない場合はおそらく無視できます。作成に使用されている可能性が高い出力tput$TERMまた、リモート側で値を強制的に設定しssh ... "export TERM=dumb; ..."たり、そのようなものを黙らせたりすることもできます。

于 2016-05-03T19:42:56.503 に答える