Bash скрипт для перемещения файлов

Я новичок, и мне нужна помощь.

Я пытаюсь создать скрипт для перемещения некоторых файлов из одного каталога в другой. Прежде чем создать скрипт, я протестировал команду, и она работала:

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

После того, как я сделал скрипт с nano:

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

, я сделал скрипт выполняется с: chmod +x file, а затем выполняется как ./file, но появляется следующая ошибка:

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

Я пробовал и с sudo ./file и файлом bash, но он не работает.

Я использую Ubuntu, установленную вместе с VirtualBox.

11
задан 17.04.2020, 13:37

1 ответ

Это потому, что вы использовали #!bin/bash/, и это неправильно. Правильный путь таков:

#!/bin/bash

Это называется шебанг , и он сообщает оболочке, с какой программой интерпретировать скрипт при выполнении.

Другое дело: абсолютный путь для интерпретатора bash в Ubuntu - это /bin/bash, а не bin/bash/ или что-то еще. Вы можете проверить это с помощью команды which bash.

И еще одна вещь, но, вероятно, вы знаете это: следующая строка:

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

будет отображать только текстовое сообщение с mv /path/to/source /path/to/destination. Для реального перемещения файлов используйте следующий скрипт:

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

Вот как должен выглядеть ваш скрипт.

19
ответ дан 17.04.2020, 13:38

Теги

Похожие вопросы