Udev não está executando scripts in-line

1

Atualmente, estou tentando obter udev para fazer algumas coisas (iniciar o airmon-ng) depois de conectar uma placa de rede USB específica. Mas estou tendo problemas para fazer com que scripts in-line funcionem. O problema pode ser reproduzido usando o seguinte exemplo simples:

Crie o seguinte script executável /test.sh :

#!/bin/sh
echo hello > /tmp/test.txt

Crie o seguinte arquivo /etc/udev/rules.d/85-auto-monitor.rules :

# This works:
ACTION=="move", KERNEL=="wlx8416f91a5ed3", RUN+="/test.sh"

# This does not work:
# ACTION=="move", KERNEL=="wlx8416f91a5ed3", RUN+="sh -c 'echo hello > /tmp/test.txt'"

Use o seguinte comando para recarregar o arquivo .rules :

sudo udevadm control --reload 

Eu simplesmente não consigo entender por que o script externo funciona, mas não o script in-line. Os scripts embutidos funcionam se eu o executar no meu terminal.

    
por Andreas 30.03.2017 / 14:03

0 respostas