Шаблон сценария Bash для копирования файлов в предопределенные папки назначения


1

Мне нужен интерактивный шаблон сценария bash для копирования файлов в предопределенные папки назначения. Если возможно, при появлении запроса на завершение ввода пользователем будет включена предопределенная исходная директория Основная логика будет выглядеть примерно так:

Пример сценария 1:

/bin/bash    
enable tab completion to load from /src/dir #perhaps using pwd as script is loaded    
echo "filename or pattern?" #interactively ask user to provide filename or pattern    
'user input'=$FILENAME #define interactive user input as filename    
rsync -rv /src/dir/$FILENAME /dest/dir/ && rm -r /src/dir/$FILENAME    
done

Я знаю, что это грубо / неправильно, но, надеюсь, желаемый результат достаточно ясен. Заранее спасибо за любое руководство! Ссылки на конкретные методы написания сценариев bash приветствуются.

Я попробовал это (спасибо за помощь Ноам Н. Кремень а также slhk !!!):

#!/bin/bash  
read -e -p "Filename or pattern? " SRC_FILE  
rsync "$SRC_FILE" /dest/dir && rm -r "$SRC_FILE"

Итак, табуляция отлично работает, и после "цитирования" строк

"$SRC_FILE"

rsync перестал выдавать ошибки. Похоже, у меня теперь есть отличный маленький скрипт, который делает ТОЧНО, что мне нужно !! И я узнал, как правильно отформатировать код здесь, спасибо!


Пожалуйста, сделайте отступ в 4 пробела. Какой файл вы копируете? Содержит ли он пробел в своем имени или пути? Попробуйте процитировать rsync "$SRC_FILE", и посмотреть mywiki.wooledge.org/Quotes
slhck

Большое спасибо, сэр, проблема устранена, и я с нетерпением жду вашего сайта для получения дополнительных советов.
njtuneguy

Нет проблем. Я думаю, что в этот момент вы должны принять ответ Ноама, щелкнув зеленую галочку рядом с ним, поскольку он помог вам найти решение. И, конечно же, добро пожаловать в Super User!
slhck

Ответы:


0

пытаться read -e -p как в:

read -e -p "Enter destination filename" DEST_FILE

-e включает автозаполнение, а $ DEST_FILE будет содержать нужные вам данные.


Фантастическая и быстрая помощь, спасибо, мой друг!
njtuneguy
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.