Bash: Как повторить ту же подсказку и записать все ответы, которые были введены? - PullRequest
0 голосов
/ 02 мая 2020

Я noob, моя цель - создать список всех файлов в некоторых разных каталогах, которые могут содержать символ пробела в Linux ОС. Мне нужна программа, которая запрашивает одно и то же приглашение для бесконечного количества каталогов, один за другим. И затем список всех этих файлов с помощью команды «найти».

Мой сценарий для начинающих bash для трех разных каталогов выглядит так:

#!/bin/bash

echo enter your path, for example /home/user/My Documents
read path1
echo enter your next path
read path2
echo enter your next path
read path3

#I want this program to keep asking "enter your next path" until We blank the answer and then We hit enter

find "$path1" "$path2" "$path3" -type f

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

Извините за мой плохой английский sh. Спасибо

1 Ответ

1 голос
/ 02 мая 2020

Если вы согласны ввести один путь на строку и завершить sh ввод пустой строкой, вы можете попробовать:

#!/bin/bash

declare -a path_array

while true; do
  read -r -p "Enter a path: " path
  if [ -z "$path" ] ; then
    break;
  fi
  path_array+=("$path")
done
find "${path_array[@]}" -type f
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...