명령을 사용하여 스크린 세션을 시작하는 방법은 무엇입니까?

명령을 사용하여 스크린 세션을 시작하는 방법은 무엇입니까?

이를 통해 장치에 연결하고 있는데 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'"

일반 텍스트로 비밀번호를 하드코딩하는 것은 일반적으로 나쁜 습관이지만 이는 개발 환경이므로...

http://aperidic.net/screen/quick_reference

관련 정보