Один простой способ с парой небольших улучшений:
if (-d /path/to/python/bin && "$path" !~ *"/path/to/python/bin"*) then
set path=($path /path/to/python/bin)
else
echo 'ERROR: Unable to find the path to Python executable in.cshlc!'
endif
Я изменил -e
на -d
для более надежной проверки существования каталога, затем я проверяю, содержит ли переменная $path
что-то вроде /path/to/python/bin
; если каталог существует, а переменная пути еще не содержит этот путь, добавьте его. Я считаю, что в синтаксисе csh для разделения элементов пути используются пробелы, а не двоеточия.
Если проблема заключается в том, чтобы получить имена файлов в одном столбце, а не в формате нескольких столбцов -, который создает ls
, вы можете использовать опцию-1
(«минус один» ), чтобыls
:
ls -1
Имена файлов будут отсортированы по имени.
printf '%s\n' FILE.*
Предполагая, что шаблон FILE.*
соответствует всем соответствующим именам файлов и ничему другому, приведенная выше команда также напечатает имена файлов в лексикографическом порядке, каждое в отдельной строке, что, по-видимому, и требуется.