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


11

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

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

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.


Ответы:


20

Это потому, что вы использовали, #!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

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


1
Кстати, Ubuntu исторически упаковала дрянную версию невероятно полезной whichкоманды . Стоит ручная установка, чтобы получить GNU, который .
djeikyb
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.