batファイルからputtyにログインした後、ファイルから複数のコマンドを実行します
PuTTYにログインできません。PuTTYは、認証のないSSH クライアントアプリケーションです。
PuTTYを使用して、SSHサービスを提供しているサーバーコンピューターにログインできます。通常、これはLinuxサーバーです。ログインが必要なのはサーバーです。
私のabc.txtには、パテ自体で実行したいコマンドがいくつか書かれています
PuTTY自体で任意のコマンドを実行することはできません。
PuTTYを使用して、サーバー上のシェルでコマンドを実行できます。
これらのコマンドはサーバー上に存在し、サーバーのオペレーティングシステムでサポートされている必要があります。
abc.txtには、pbrunというコマンドが1つだけあります。コマンドが見つからないということです。
これは、コマンドpbrun
がサーバーのオペレーティングシステム上で有効なコマンドではないことを意味します(これは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
メカニズムが機能します。
putty.exe -ssh me@192.168.100.194 -m test.txt
test.txtに3行が含まれている場所でうまくecho "hello" echo "goodbye" sleep 10s
いきました:-この場合、私は接続しているLinuxなので、保存されたファイルtest.txt(あなたの場合はabc.txt)はLinuxのラインエンドで保存する必要がありますつまり、CR + LFではなくLFです。