에 배치한 스크립트를 디버깅하고 싶습니다 /etc/pm/sleep.d
. 내 스크립트에서는 echo
상태를 보고하는 명령을 실행합니다 .
이 출력을 어디서 읽을 수 있나요? 아마도 dmesg
파일이나 같은 것으로 생각하고 있습니까 /var/log
?
이것이 더 좋은 방법인가요? 시스템에서 실행되어야 하는 bash 스크립트(예: /etc/init.d/
또는 . Xinit
)를 디버깅할 때 표준 관행은 무엇입니까?
답변1
를 사용하는 대신 을 사용하여 디버깅 목적으로 시스템 로그에 명령을 출력 echo
할 수 있다는 것을 알았습니다 .logger
logger "Oh no"
그런 다음 /var/log/syslog에서 출력을 확인할 수 있습니다.
sudo tail /var/log/syslog
답변2
이미 언급했듯이 스크립트에는 echo 문이 있습니다.
이제 shebang 이후 파일 시작 부분에서 스크립트를 편집하십시오.
> /tmp/myoutput
myoutput은 /tmp 마운트의 파일 이름일 뿐이므로 원하는 것을 선택할 수 있습니다.
그 후에는 스크립트에 다음과 같은 echo 문이 있는 경우
echo "something"
그것을로 바꾸다
echo "something" >> /tmp/myoutput
그게 전부입니다. 스크립트가 실행될 때마다 스크립트에 발생한 일에 대한 최신 트랙을 갖게 됩니다.