создать цикл из файла

У меня есть файл (test). Он содержит два столбца и две строки

  пиппо мм

 pluto tt

Я хотел бы создать каталог, владельца и создать пароль. Я так думаю.

while IFS= read ab; do mkdir -p /srv/ftp/$a chown -R ftp:ftp /srv/ftp/$a/ passwd $a $b done < /test 

Я ожидаю, что у меня есть 2 каталога pippo и pluto под /srv/ftp/ но у меня есть только pippo

Спасибо за вашу помощь.

Вы хотите, чтобы IFS был пространством, это должно быть так:

 while IFS=" " read ab; do mkdir -p /srv/ftp/$a chown -R ftp:ftp /srv/ftp/$a/ passwd $a $b done < /test 

У вас есть файл, содержащий два поля, разделенные пробелом, имя пользователя и пароль:

 pippo mm pluto tt 

Вы можете использовать такой скрипт для обработки файла, создания учетной записи пользователя и соответствующего каталога:

 ftpuid=$(getent passwd ftp | cut -d: -f3) if test -z "$ftpuid"; then echo "No ftp account" >&2; exit 1; fi while read -r user password do test -z "$user" && continue echo "Creating account for $user, with home /srv/ftp/$user" >&2 useradd -d /srv/ftp/"$user" -M -N -g ftp -o -u "$ftpuid" "$user" mkdir -m700 -p /srv/ftp/"$user" chown "$ftpuid":ftp /srv/ftp/"$user" test -n "$password" && ( echo "$password"; echo "$password" ) | passwd -q "$user" 2>/dev/null done < file.txt 

Существуют и другие параметры паролей настроек, таких как chpasswd , но я не считаю, что это подходит здесь.