The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите!!!! Проблемка со скриптом"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите!!!! Проблемка со скриптом"
Сообщение от Alex Искать по авторуВ закладки on 10-Апр-03, 01:08  (MSK)
Написал скрипт по добавлению пользователей в систему (якобы :(((  )
Сюжет скрипта такой
создается текстовый файл, в который, в формате user | passwd заноситься инфа о пользователях
Затем за дело берется скрипт, который по идее :))) должен брать из етого файла данные и добавлять юзеров с паролем и домашним каталогом в систему (тех кто прописан в текстовом файле)
А скрипт не хочет работать выдает ошибку в строке for f in $(cat $ufile) do
Ошибка типа синтакс еррор в line номер такой

Скрипт:

#!/bin/sh
#
ufile=$1
usershell="/bin/false"    
homedir="/dev/null"      

for f in $(cat $ufile) do
    username=`echo $f|awk -F : '{print $1}'`
    userpass=`echo $f|awk -F : '{print $2}'`
    useradd -d $homedir -s $usershell -p $userpass $username \
    ;
done

Помогите разясните в чем трабл :(((((((((((
Оч надо !!!!!
Заранее спасибо

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Помогите!!!! Проблемка со скриптом"
Сообщение от vnp emailИскать по авторуВ закладки on 10-Апр-03, 08:54  (MSK)

>А скрипт не хочет работать выдает ошибку в строке for f in
>$(cat $ufile) do

Точка-с-запятой перед do может сильно помочь.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Помогите!!!! Проблемка со скриптом"
Сообщение от Alex Искать по авторуВ закладки on 10-Апр-03, 12:16  (MSK)
>Написал скрипт по добавлению пользователей в систему (якобы :(((  )
>Сюжет скрипта такой
>создается текстовый файл, в который, в формате user | passwd заноситься инфа
>о пользователях
>Затем за дело берется скрипт, который по идее :))) должен брать из
>етого файла данные и добавлять юзеров с паролем и домашним каталогом
>в систему (тех кто прописан в текстовом файле)
>А скрипт не хочет работать выдает ошибку в строке for f in
>$(cat $ufile) do
>Ошибка типа синтакс еррор в line номер такой
>
>Скрипт:
>
>#!/bin/sh
>#
>ufile=$1
>usershell="/bin/false"
>homedir="/dev/null"
>
>for f in $(cat $ufile) do
>    username=`echo $f|awk -F : '{print $1}'`
>    userpass=`echo $f|awk -F : '{print $2}'`
>    useradd -d $homedir -s $usershell -p $userpass $username
>\
>    ;
>done
>
>Помогите разясните в чем трабл :(((((((((((
>Оч надо !!!!!
>Заранее спасибо


по поводу запятой перед do  ставил получается таже ошибка

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Помогите!!!! Проблемка со скриптом"
Сообщение от LS Искать по авторуВ закладки on 11-Апр-03, 15:09  (MSK)
>Написал скрипт по добавлению пользователей в систему (якобы :(((  )
>Сюжет скрипта такой
>создается текстовый файл, в который, в формате user | passwd заноситься инфа
>о пользователях
>Затем за дело берется скрипт, который по идее :))) должен брать из
>етого файла данные и добавлять юзеров с паролем и домашним каталогом
>в систему (тех кто прописан в текстовом файле)
>А скрипт не хочет работать выдает ошибку в строке for f in
>$(cat $ufile) do
>Ошибка типа синтакс еррор в line номер такой
>
>Скрипт:
>
>#!/bin/sh
>#
>ufile=$1
>usershell="/bin/false"
>homedir="/dev/null"
>
>for f in $(cat $ufile) do
>    username=`echo $f|awk -F : '{print $1}'`
>    userpass=`echo $f|awk -F : '{print $2}'`
>    useradd -d $homedir -s $usershell -p $userpass $username
>\
>    ;
>done
>
>Помогите разясните в чем трабл :(((((((((((
>Оч надо !!!!!
>Заранее спасибо

[syslha@main syslha]$ cd ~/temp
[syslha@main temp]$ echo "this is simple text"> textfile.txt
[syslha@main temp]$ cat textfile.txt
this is simple text
[syslha@main temp]$ for i in $(cat textfile.txt); do echo ${i}; done
this
is
simple
text
[syslha@main temp]$ cat textfile.txt|while read word1 word2; do echo "1=${word1} 2=${word2}"; done
1=this 2=is simple text
[syslha@main temp]$ cat textfile.txt|while read word1 word2 wordNU; do echo "1=${word1} 2=${word2}"; done
1=this 2=is
[syslha@main temp]$


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру