이를 통해 장치에 연결하고 있는데 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'"
일반 텍스트로 비밀번호를 하드코딩하는 것은 일반적으로 나쁜 습관이지만 이는 개발 환경이므로...