USB 포트에서 파일로 직렬 데이터를 기록하는 스크립트를 작성 중이며 다음과 같이 데이터를 기록하는 데 script
사용 하고 있습니다.picocom
sudo script -a -c 'sudo picocom /dev/ttyUSB0 | ts "%Y-%b-%d %H:%M:%S10"' /usr/local/logs/device1.log
잘 작동하고 있습니다. 지금까지 openPort
호출할 수 있도록 스크립트 로 래핑하고 싶습니다 .openPort device1 USB0
sudo script -a -c 'sudo picocom /dev/tty"${2}" | ts "%Y-%b-%d %H:%M:%S10"' /usr/local/logs/${1}.log
불행히도 COM 포트는 열리지 않습니다. from 을 사용하는 대신 script
실행할 새 세션을 시작하는 것이 문제인 것 같습니다 . 인수를 올바르게 전달할 수 있는 방법이 있습니까?sudo picocom /dev/tty"{2}"
openPort
답변1
작은따옴표 안의 모든 내용은 확장되지 않으므로 따옴표에서 이 매개변수를 제거하세요.
sudo script -a -c 'sudo picocom /dev/tty'"${2}"' | ts "%Y-%b-%d %H:%M:%S10"' /usr/local/logs/${1}.log
Shell은 모든 부분을 하나로 모으는 일을 담당합니다.