No puede, dado que el usuario que crea el directorio tiene permiso suficiente para escribir en el directorio principal.
En su lugar, puede aprovechar la inotifyfamilia de llamadas al sistema proporcionadas por el kernel de Linux, para observar la creación (y opcionalmente mv-ing) del directorio shopen el directorio dado, si se creó (u opcionalmente mv-ed), rmel directorio.
El programa de espacio de usuario que necesita en este caso es inotifywait(viene con inotify-tools, instálelo primero si es necesario).
Suponiendo que el directorio shopresidiría en el /foo/bardirectorio, configuremos un monitoreo para la /foo/bar/shopcreación, e rminstantáneamente si se crea:
inotifywait -qme create /foo/bar | \
awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'
inotifywait -qme create /foo/barvigila el /foo/bardirectorio para cualquier archivo / directorio que pueda crearse, es decir, observe cualquier createevento
Si se crea, awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'comprueba si el archivo es un directorio y el nombre es shop( /,ISDIR shop$/), de ser así, rmel directorio ( system("rm -r -- /foo/bar/shop"))
Debe ejecutar el comando como un usuario que tiene permiso de escritura en el directorio /foo/barpara eliminarlo del shopdirectorio.
Si también desea monitorear las mvoperaciones de llamada, agregue también la observación de moved_toeventos:
inotifywait -qme create,moved_to /foo/bar | \
awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'
Solo para tener en cuenta, si está buscando un archivo, no un directorio, llamado shop:
inotifywait -qme create /foo/bar | \
awk '$NF == "shop" { system("rm -- /foo/bar/shop") }'
inotifywait -qme create,moved_to /foo/bar | \
awk '$NF == "shop" { system("rm -- /foo/bar/shop") }'