私は次のものを持っている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ファイルから複数のコマンドを次々に実行するにはどうすればよいですか?
batファイルからPuTTYにログインした後、ファイルから複数のコマンドを実行します
PuTTYにログインできません。 PuTTYはSSHclientアプリケーションであり、認証はありません。
PuTTYを使用して、SSHサービスを提供しているサーバーコンピューターにログインできます。通常、これはLinuxサーバーです。ログインが必要なのはサーバーです。
abc.txtに、PuTTY自体で実行したいコマンドをいくつか記述しました
PuTTY自体で任意のコマンドを実行することはできません。
PuTTYを使用して、サーバー上のシェルでコマンドを実行できます。
これらのコマンドはサーバー上に存在し、サーバーのオペレーティングシステムでサポートされている必要があります。
abc.txtにはコマンドが1つだけあります:pbrun。コマンドが見つかりませんと言っています。
つまり、コマンドpbrun
はnotサーバーのオペレーティングシステムで有効なコマンドです(これは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
メカニズムは機能し、少しの努力で、それが有用な仕事を正しく行うことができると期待しています。