![udev 규칙이 작동하지 않습니다](https://rvso.com/image/1395270/udev%20%EA%B7%9C%EC%B9%99%EC%9D%B4%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
USB 드라이브 플러그인에 대한 udev 규칙을 작성하려고 합니다. 먼저 에 마운트 /media
한 다음 에서 스크립트를 실행하고 싶습니다 /usr/local/bin/script.sh
. USB를 삽입해도 이 규칙에 따라 장치가 마운트되지 않습니다. 하지만 RUN 부분을 터미널에 수동으로 입력하면 스크립트가 마운트되어 실행됩니다.
규칙 파일은 다음과 같이 말합니다.
ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh"
이것이 규칙의 RUN 섹션에서 두 명령을 실행하는 올바른 방법입니까?
답변1
2개의 명령을 실행하는 올바른 방법이 아닙니다. 나 역시 규칙에서 일치하는 부분이 마음에 들지 않지만 이 예에서는 그대로 두겠습니다. 당신은 할 수 있습니다 :
ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/sh -c '/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh'"
또는
ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/", RUN+="/usr/local/bin/script.sh"
mount
하지만 당신의 경우에는 왜 명령을 스크립트 내부로 옮기지 않겠습니까 ?