#!/bin/bash
files=$( grep " jane " ../data/list.txt)
for f in $files;
do
if test -e f;
then
echo f >> oldFiles.txt;
else
echo "File doesn't exist";
fi;
done
Этот код выполняет поиск «jane» в содержимом файла list.txt и сохраняет результаты в файлах. Этот файл заполнен адресами пути к каталогам. Некоторые из адресов пути к каталогу включают слово «jane».
После этого for l oop выполняет итерацию по файлам переменных файлов и по одному запускает тест, чтобы проверить, соответствует ли путь к каталогу действителен и действительно существует.
Если путь к каталогу существует, он копирует адрес в итераторе с помощью метода перенаправления в файл oldFiles.txt
Когда я не создаю файл для запуска этот скрипт, и вместо этого просто используйте CLI напрямую для объявления переменной files и использования метода перенаправления, он работает. Так, например, когда я ввожу следующее в CLI напрямую:
files=$( grep " jane " ../data/list.txt)
echo $files >> oldFiles.txt
Это выполняет свою работу. Но приведенный выше сценарий Bash не работает. Что я делаю не так?