Tengo una pequeña pregunta aquí.
Si tengo dos archivos, digamos fileay fileb, mv filea filebsería
- Eliminar
fileb - renombrar
fileaafileb
Entonces, si tengo dos directorios, digamos diray dirb, mv dira dirbsería
- moverse
diraendirb(que se convertirá endirb/dira)
Observando que en ambos casos no hay aviso o mensaje, entonces esto es bastante inconsistente para mí. Creo que mv dira dirbdebería sobrescribir dirbcon el contenido de dira(o fusionar los dos directorios en un directorio llamado dirb).
Recuerdo haber leído en alguna parte que el nombre de un directorio con una barra inclinada (like dira/) se trata como un directorio, y el nombre sin barra inclinada (like dira) se trata como un archivo (en cierta medida, por supuesto). De todos modos, ahora quiero hacer que el shell (zsh y posiblemente bash) respete mi notación de un directorio mediante una barra inclinada. ¿Existe una opción de terminal que me permita hacer cumplir eso?
Para aclarar, aquí está mi comportamiento deseado:
mv dira dirbda como resultado quedirbse sobrescriba con el contenido dediramv dira dirb/resulta endiraser trasladado adirb(indirb/dira)
¿Alguien ha pensado lo mismo que yo? ¿O simplemente soy raro?

Respuestas:
Sí, esto es un poco inconsistente, incluso dentro de las herramientas de GNU.
Un problema con su propuesta es que los directorios no vacíos no se pueden eliminar. Aparte de eso,
-T(en tierra GNU, de todos modos) se aproxima a lo que quieres (el primer caso):fuente
alias ren=mv -T.Si solo quieres mover todo, desde dira a dirb, puedes ejecutarlo
mv dira/* dirb.Según la página de manual de mv en mi HP-UX.
The mv command moves:+ One or more directory subtrees (directory1, [directory2, ...]) to a new or existing directory (dest-directory).fuente
shopt -s dotgloben bash lo arreglará.