バッチファイル

ラズパイの設定をする用にバッチファイルに戻ってみた.

三十ン年くらい遡ってバッチファイルに戻ってみた.コマンドの単なる羅列でも動作してくれるので簡単で嬉しい.やりたいことは,3分待ってホスト名とユーザ名で遠隔接続を試し,IPアドレスがわかったら(そちらの方が安定してるので)公開鍵を送ってパスワード入力の手間なしで接続できるようにして,vncとsmbの状態を確認する.


3分待つ

timeout [/T] 180

バッチファイルにsleepはないが,timeout.exeコマンドができていた.引数は秒数./NOBREAKオプションもある.


ifconfig->ip

ssh %RPiUSER%@%RPiNAME% "sudo ifconfig | grep broadcast | awk '{print $2;}'"

RPiOSのipconfigコマンドの出力から”broadcast”という字句を含んだ行の2番目の字句を取り出す.老化でIPアドレスを覚えておけなくなってきたので下のようにして環境変数に入れる.

ssh %RPiUSER%@%RPiNAME% "sudo ifconfig | grep broadcast | awk '{print $2;}'" >tempip.txt

set /p RASPI=<tempip.txt

del tempip.txt

もともとは%RPiUSER%,%RPiNAME%はバッチの引数%1とか%2とか使っていたけど,何度も入力するのがだるくなったので予め以下のようにした.

echo off

if "%2"=="" ( 

  echo USAGE %0 USERNAME RPiNAME

  goto :eof 

set RPiUSER=%1 

set RPiNAME=%2

環境変数は%RPiUSER%,%RPiNAME%,%RASPI%の3つが増えた.大概メインで使うラズパイは一つなのでこれでいい気がする.


公開鍵を送信する

ssh-keygen -R %RASPI% 

ssh %RPiUSER%@%RASPI% if [ ! -d .ssh ]; then mkdir .ssh; fi; "cat >> .ssh/authorized_keys" < %USERPROFILE%\.ssh\id_rsa.pub

RPiの~に.sshフォルダがなければ作成し,そこにPCの.ssh下のid_rsa.pubを書き込む.


VNC/SAMBAサーバのチェック

ssh %RPiUSER%@%RASPI% sudo raspi-config nonint get_vnc

ssh %RPiUSER%@%RASPI% sudo systemctl status smbd

RPIOSのコマンドraspi-configのnonintオプションがバッチと相性よし.get_vncは0が公開状態.不用意に開いているときはdo_vnc 1として閉じる.

N.Ish's.

Exam.,Memo,Dist.

0コメント

  • 1000 / 1000