"sudo..." 명령 출력 형식을 식별하는 방법은 무엇입니까?

"sudo..." 명령 출력 형식을 식별하는 방법은 무엇입니까?

"sudo iwlist wlan0 scan" 명령이 실행되어 예상 텍스트가 터미널에 반환되었음을 보여주는 bash -x 출력을 첨부했습니다. 문제는 텍스트가hiptail msgbox 옵션으로 전달되지 않는다는 것입니다.

다른 "sudo..." 명령을 사용하면 실패하고, "sudo .." 명령만 사용하면 실패합니다. 내 생각엔 출력 텍스트에 인쇄되지 않는 문자가 있어 이 문제가 발생하는 것 같습니다.

sudo iwlist wlan0 scan
wlan0     Interface doesn't support scanning : Network is down

whiptail --title 'Command sudo iwlist wlan0 scan output 1400'       -   -separate-output --scrolltext --msgbox '' 17 80 10

답변1


확실하지 않을 때마다 stdout을 리디렉션한 다음 stderr을 /dev/null로 리디렉션해 보세요.
예를 들어, with를 사용하면 lsusb -h > /dev/null여전히 출력이 표시되지만 with를 사용하면 lsusb -h 2> /dev/null출력이 없으므로 도움말 출력이 stderr로 전송됩니다.
stderr를 stdout으로 리디렉션하려는 경우:
lsusb -h 2>&1
처음에는 명확하지 않지만 이 명령이 수행하는 작업은 stderr(파일 설명자 #2)을 stdout(파일 설명자 #1)으로 리디렉션하는 것입니다.

관련 정보