Я пытаюсь написать сценарий оболочки, который перемещает несколько файлов из одного каталога в другой. Мне удалось написать скрипт, который спрашивает пользователя, какой файл он хочет переместить, а затем перемещает этот файл в целевой каталог, но как я могу переместить несколько файлов в другой каталог?
Вот скрипт, который я написал для пользователя, чтобы переместить один файл в другой каталог:
#! /bin/bash
echo " enter the name of the file that you want to move "
read filename
if [ -f "$filename" ]
then
echo " enter the target directoy name that you want to move the file to"
read dir
if [ -d "$dir" ]
then
mv -i "$filename" "$dir" && echo "the file is moved to "$dir" successfully "
else echo "каталог не найден" fi else echo "файл не найден ! "
выход 1 ф.
Этот скрипт перебирает все файлы в текущем каталоге и просит перейти в указанный каталог:
#!/usr/bin/env bash
set -e
read -p "enter the target directoy name:" -r dir
if [[ ! -d "$dir" ]];then
echo "incorrect directory"
exit 1
fi
if [[ ! -w "$dir" ]];then
echo "directory is not writeable by current user"
exit 1
fi
for filename in ./*; do
[[ ! -w $filename ]] && echo "$filename cant be moved, access denied" && continue
read -p "move $filename to directory? [y/Enter=No]" domove
[[ ! -z "$domove" ]] && mv -i "$filename" "$dir" && echo "$filename moved successfully" || true
done