Если вы зададите оболочке шаблон подстановки, который не соответствует ни одному имени файла, шаблон подстановки не будет расширен. В вашем случае это означает, что echo
в цикле выводит сам шаблон.
Альтернативная реализация вашего скрипта:
cd /Users/Desktop || exit 1
for entry in txt/*.txt; do
test -e "$entry" && echo "$entry"
done
Эта реализация завершится с ненулевым кодом выхода, если cd
не работает. Тогда он не будет использовать pwd
, поскольку в этом нет необходимости. Он получит список имен, соответствующих шаблону, и будет перебирать их. На каждой итерации он проверяет, действительно ли в файловой системе есть что-то с таким именем, прежде чем выводить это имя на стандартный вывод.
Если вы хотите, чтобы echo
внутри lop выводил полный путь к файлам, используйте echo "/Users/Desktop/$entry"
или еще лучше:
dir="/Users/Desktop"
cd "$dir" || exit 1
for entry in txt/*.txt; do
test -e "$entry" && printf '%s/%s\n' "$dir" "$entry"
done
В итоге администратор нашего сервера установил следующие пакеты, что привело к успешной установке PANDAseq:
libtool-ltdl-2.2.6-15.5.el6.x86_64
libtool-2.2.6-15.5.el6.x86_64
libtool-ltdl-devel-2.2.6-15.5.el6.x86_64
Теперь ПАНДА счастлива:)