Gradleからtelnet
また、Gradleネタで。
Gradleからtelnetする機会があったのでメモ。
結局 antなんですが。
configurations { telnetAntTask } repositories { mavenCentral() } dependencies { telnetAntTask("org.apache.ant:ant-commons-net:1.8.4") { module("commons-net:commons-net:1.4.1") { dependencies "oro:oro:2.0.8:jar" } } } task telnet << { ant { taskdef(name: 'telnet', classname: 'org.apache.tools.ant.taskdefs.optional.net.TelnetTask', classpath: configurations.telnetAntTask.asPath) telnet(server: "<ホスト名>", userid: user, password: pass) { read('$ ') // プロンプト write('touch foo') read('$ ') // プロンプト } } }
こんな感じで、'touch foo'の部分が実行したいコマンドです。
起動は、以下。
gradle -Puser=<ユーザ名> -Ppass=<パスワード> telnet
でもこれだとパスワードが丸見え。
ちなみにsshは、こちら。
http://d.hatena.ne.jp/bluepapa32/20110502/1304297900
以上です。