Проблема в самом конце сценария. Я опубликую ваш сценарий с исправлением.
измените "start _watcher" на "start", так как вы пытаетесь запустить функцию запуска.
$ set -f # disable globbing
$ arr=($(<file.csv))
$ set +f # enable globbing
$ declare -p arr # print array content
declare -a arr=([0]="UserName" [1]="UserName" [2]="UserName")
arr=(…)
создать массив $(<file.csv)
прочитать файлfile.csv
(как$(cat file.csv)
)Перед чтением файла необходимо отключить подстановку, чтобы предотвратить расширение имен пользователей такими символами, как *
или ?
или специальными шаблонами (расширение имени пути ).
Элементы разделяются символами новой строки, пробела или табуляции (при условии, что $IFS
не были изменены )и не обрезаны.
Сmapfile
:
$ mapfile -t array < yourfile
$ declare -p array # print array content
declare -a array=([0]="UserName" [1]="UserName" [2]="UserName")
i=0
while IFS= read -r line
do
var[i++]="$line"
done < filename
Здесь переменная массива var хранит все имена. Доступ к ним можно получить по
printf '%s\n' "${var[0]}"
printf '%s\n' "${var[1]}"
...
...