나는 다음을 사용하는 Python 스크립트를 가지고 있습니다.
size = os.popen('stty size', 'r').read().split()
텍스트를 멋지게 인쇄할 수 있도록 터미널 창 크기를 가져옵니다. 내 문제는 bash 스크립트를 통해 이 Python 스크립트를 실행해야 할 때 발생합니다. rosrun
백그라운드에서(&를 사용하여) 이 Python 스크립트를 호출하는 bash 스크립트가 있는데 오류가 발생합니다.
stty: 'standard input': Inappropriate ioctl for device
둘러본 후 stty
터미널(또는 의사 터미널)이 필요하고 내가 실행 중인 bash 스크립트가 이를 제공하지 않기 때문이라는 것을 이해했습니다. 루트 사용자를 사용하여 명령을 실행할 수 없기 sudo
때문에 할 수 없습니다 .ros
script -q -c
명령을 사용해 도 도움이 되지 않습니다. os.popen
Python 스크립트의 명령을 대체 명령으로 변경 하지 않고도 이 문제를 해결할 수 있는 방법이 있습니까 ? 현재는 os.popen 앞에 인쇄를 추가하고 expect
bash 스크립트에서 사용할 생각입니다 .