web-dev-qa-db-ja.com

batファイルからPuTTYにログインした後、ファイルから複数のコマンドを実行します

私は次のものを持っているbatファイルを書きました:

PuTTY.exe -t -load "ABC" -l username -pw password -m "C:\Users\pathasai\Desktop\abc.txt"

Abc.txtに、PuTTY自体で実行したいコマンドをいくつか記述しましたが、batファイルを実行すると、コマンドを実行できません。エラーコマンドが見つかりません。たとえば、abc.txtにpbrunという1つのコマンドしかないとします。コマンドが見つからないと言っています。 (PuTTYターミナルでこのエラーが発生します。)

Abc.txtファイルから複数のコマンドを次々に実行するにはどうすればよいですか?

1
saiyam

batファイルからPuTTYにログインした後、ファイルから複数のコマンドを実行します

PuTTYにログインできません。 PuTTYはSSHclientアプリケーションであり、認証はありません。

PuTTYを使用して、SSHサービスを提供しているサーバーコンピューターにログインできます。通常、これはLinuxサーバーです。ログインが必要なのはサーバーです。

abc.txtに、PuTTY自体で実行したいコマンドをいくつか記述しました

PuTTY自体で任意のコマンドを実行することはできません。

PuTTYを使用して、サーバー上のシェルでコマンドを実行できます。

これらのコマンドはサーバー上に存在し、サーバーのオペレーティングシステムでサポートされている必要があります。

abc.txtにはコマンドが1つだけあります:pbrun。コマンドが見つかりませんと言っています。

つまり、コマンドpbrunnotサーバーのオペレーティングシステムで有効なコマンドです(これはPuTTYとは関係ありません)。

すべてのLinuxサーバーにpbrunがあるわけではありません。

$ man pbrun
No manual entry for pbrun
$ pbrun
-bash: pbrun: command not found
$ uname
Linux
$

コマンドの行末にも注意する必要があります。メモ帳で編集されたWindowsファイルには、2つのASCII制御文字Carriage-Return(CRまたはControl-Mまたは^ M)およびLine-Feed(LFまたはControl-Jまたは^ J)PuTTYがこれを処理することを期待しますが、そうではない場合があります(私はこれをテストしていません)。

$ pwd
/
$ pwd^M
: command not found
$

更新

メモ帳を使用して、このファイル「commands.txt」を作成しました。

echo "this command works"
echo
echo "this command works too"
sleep 20 # so I can see

私はこのコマンドを使用しました:

C:\temp>"C:\Program Files (x86)\PuTTY\putty.exe" rgb@server -m commands.txt

私はこの結果を得ました:

this command works

                  this command works too

改行操作に影響を与えるsttyまたはPuTTY設定に問題があると思いますが、基本的には-mメカニズムは機能し、少しの努力で、それが有用な仕事を正しく行うことができると期待しています。

1
RedGrittyBrick