script zenity + inotify

0

Eu gostaria de ter um script simples para notificar o usuário na tela, toda vez que uma nova pasta ou arquivo fosse criado em uma pasta compartilhada. A saída deve ser como "Você tem um novo arquivo / pasta chamado newfile / newfolder". Estou usando esse script, mas não consigo colocar o nome newfile / newfolder na saída zenity.

while inotifywait -r -e create ~/Documents/Process
do
    zenity --warning -- ????
done

thks Djames

    
por DJames 07.06.2012 / 19:41

1 resposta

2

Você pode tentar um script semelhante:

while true
do
    fileName=$(inotifywait -r -e create ~/Documents/Process | sed -r 's/^.*CREATE(,ISDIR)*\s+(.*)$//g')
    zenity --warning --text="You have a new file/folder named $fileName"
done

A variável fileName contém o nome do arquivo extraído que inotifywait detecta e gera. (Ele é filtrado da saída usando um comando sed ).

Em seguida, o $fileName é exibido por zenity usando a opção --text= .

Essas duas linhas são executadas em um loop infinito para permitir a detecção de outros eventos de criação. Use CTRL + C para abortar o relógio.

    
por lgarzo 07.06.2012 / 20:05