Bash script para mover archivos


11

Soy un principiante y necesito ayuda.

Estoy tratando de hacer un script para mover algunos archivos de un directorio a otro directorio. Antes de crear el script, probé el comando y estaba funcionando:

mv /path/to/source  /path/to/destination

Después de hacer el guión con nano:

#!bin/bash/
echo "mv /path/to/source  /path/to/destination"

Hice el script ejecutable con: chmod +x file y luego lo ejecuté ./filepero aparece el siguiente error:

bash: ./move.sh: /bin/bash/: bad interpreter: Not a directory

Intenté con y con un sudo ./filearchivo bash pero no funciona.

Estoy usando Ubuntu instalado con VirtualBox.


Debería echar un vistazo a la Guía avanzada de secuencias de comandos Bash .
LiveWireBT

Respuestas:


20

Eso es porque lo usaste #!bin/bash/y esto está mal. La forma correcta es:

#!/bin/bash

Esto se llama shebang y le dice al shell con qué programa interpretar el script cuando se ejecuta.

Otra cosa: la ruta absoluta para el intérprete bash en Ubuntu es /bin/bash, no bin/bash/o algo más. Puede verificar esto usando el which bashcomando.

Y otra cosa, pero probablemente lo sepas: la siguiente línea:

echo "mv /path/to/source /path/to/destination"

solo mostrará un mensaje de texto con mv /path/to/source /path/to/destination. Para realmente mover archivos use el siguiente script:

#!/bin/bash
mv /path/to/source /path/to/destination

Así es como debería verse su guión.


1
Para su información, Ubuntu ha empaquetado históricamente una versión deficiente del whichcomando increíblemente útil . Vale la pena la instalación manual para obtener el gnu que .
djeikyb
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.