という訳でまとめていきます。
まず最初にやったのは
https://twitter.com/haruki_zero2/status/1315207933085409281?s=20
記事から丸々引っ張ってきたメモリ関連の値を入手する式。これを考えており
まあマイクラにステータスをチャット出力できたらいいな~とか思ってね
前にscreen evalでマイクラ鯖セッションを起動時にminecraftという名前のscreenでセッションを開始しているので
まあ例えば
(SCREEN_NAME="minecraft")
screen -p 0 -S ${SCREEN_NAME} -X eval 'stuff "say ヴェアッ! \015"'
というコマンドをシェルスクリプトでもターミナルでもいいんで実行すれば
サーバーコンソールにstuff(標準入力って意らしい)で
say ヴェアッ! \015
を入力するという事になる。
\015はエンターキーの意味があるので
まあコンソールにコマンドを打ち込んで実行する(エンターキー押す)っていう動作をしてくれるわけだ
もちろん、コンソールにおける文字数制限はあるけれど。
実行結果。
「お前の大好きなfunctionで実行すりゃいいだけの話じゃねえの?」
というわけでシェルスクリプトから直接サーバーセッションに干渉してコマンドを実行する利点っていうのは
〇Linuxにおける制御という制御を有効活用した出力が得られる
ということ。
最初に上げたメモリの使用量とかを数値化して出力するためにシェルスクリプト内で変数にそれぞれOSから得た数値を代入させておいてscreen evalで実行するコマンドにその変数を使用することでチャットとして出力することが可能なのだ。
https://twitter.com/haruki_zero2/status/1315256467247693824?s=20
さらにはこれ。
if文、elif文、else文によって条件を与えそれぞれに応じた結果をチャットに出力させるという物。
もちろん、マイクラ内での制御よりかはLinux上で制御できる方が幅は広い(というか広すぎて理解出来ん)
Linuxを有効活用・・・していこう・・・
時間を尋常じゃなく浪費している気がするが、色々と扱えるようになりたいね
ではでは、次はdiscordにチャットかコンソールログを共有できないか検証したいな
という訳でここら辺で。
(^o^)ノ < おやすみー
ps
このあと約3時間かけてdiscordと同期を取れるように設定することに成功しました。はえーよ
この記事へのコメント