Чтобы поместить каталоги в массив, вы можете do ...
array=( $( ls -1p | grep / | sed 's/^\(.*\)/"\1"/') )
Это приведет к захвату имен dir, в том числе к пробелам.
Извлечение из комментариев:
литеральные кавычки не оказывают никакого влияния на разделение строк, поэтому array = (echo «hello world» «goodbye world») представляет собой массив с четырьмя элементами, а не двумя
blockquote>Чарльз также предоставил следующую ссылку Bash FAQ # 50 , которая является расширенным обсуждением этой проблемы.
I следует также обратить внимание на ссылку, опубликованную @Dennis Williamson - , почему я не должен был использовать
ls
Возможно, для формы входа в систему создайте свой собственный компонент и добавьте его в маршрут.