これにより、デバイスに接続していますが、screen
いくつかの資格情報(ユーザー名とパスワード)を入力するように求められます。すべての項目に対してこれを行うのは面倒なので、コマンドエイリアスを追加する必要があると思いました。
このエイリアスでは~/.bash_aliases
十分ではありません。
alias devlogin="sudo screen /dev/ttyACM0 9600 && '\rmyusername' && \rmypassword"
答え1
必ずそうでしょうかscreen
?別のオプションは、expect
同様の方法を使用してデバイスを開き、必要なコマンドを発行してからユーザーに任せることです。これは、コマンドラインの外部(通常はシステム全体で見られる場所)の外部にパスワードを保持するという利点があります。
#!/usr/bin/env expect
# open up serial and configure
set fh [open /dev/ttyACM0 {RDWR NOCTTY NONBLOCK}]
fconfigure $fh -mode 9600,n,8,1
# link above up with expect
spawn -noecho -open $fh
send -- "\rmyuser"
send -- "\rHunter2"
# over to the user now
interact
答え2
stuff
正しい構文を使用するとうまくいくようです。
alias evdlogin="sudo screen /dev/ttyACM0 9600 -X stuff $'\rmyusername\rmypassword'"
プレーンテキストでパスワードをハードコードするのは一般的に悪い習慣ですが、これは開発環境なので...