Избавьтесь от кавычек.
while read dirname
do
echo "$dirname"
ls -l "$dirname"
done < inp.txt
Когда у вас есть кавычки, вы говорите: «рассматривайте это как одно слово». Оболочка ищет исполняемый файл с именем ls -l
вместо передачи аргумента -l
команде ls
.
Примечание Nitpicker: Если вы хотите правильно использовать кавычки, добавьте их вокруг "$dirname"
.
В противном случае, если у вас есть каталог с именем «Музыкальные файлы» с пробелом в имени, без кавычек ваш скрипт будет обрабатывать это как два имени каталога и печатать что-то вроде:
ls: Music: No such file or directory
ls: Files: No such file or directory