Eu suponho que na casa de alguns de seus usuários existe um diretório chamado d1
e dentro deste um subdiretório chamado d2
.
Suponho que você queira fazer algo semelhante a
#!/bin/bash
for i in /home/*/d1 ; do
if [ -d "$i/d2" ]; then
# echo "$i/d2"
find "$i" -maxdepth 1 -type f -exec mv {} "$i/d2" \;
fi
done
Nota:
- Se no nome real de
d1
houver alguns espaços, você precisará fazer mais alguns exercícios e protegê-los com um\
(para poder escreverfor i in /home/*/directory\ with\ spaces; do
). - Tente escrever
echo $directory2 ; exit
no seu script anterior e você entenderá por que ele se comporta de maneira diferente do que você espera. Mais informações sobre Expansão do nome do arquivo .