免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1126 | 回复: 2
打印 上一主题 下一主题

这个错误出在哪? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-24 12:51 |只看该作者 |倒序浏览
有一个ksh
代码:
#********* addusers.sh ************
# addusers.sh - ksh script for add
# list of users from file to NIS+
# Format of file with users:
# gid login name1 name2 name3
#        where:
#        gid - Group ID
#        login - Login name
#         name1 - First Name -+
#        name2 - Second Name +- Real user name
#        name3 - Last Name  -+
#**********************************
#!/bin/ksh
UID=`id|awk -F\( '{print $1}'|awk -F= '{print $2}'`
if [ $UID = 0 ]
then
if [ ! -z $1 ] && [ -f $1 ]
then
EXPHOME=/export/home
HNAME=`uname -n`
COUNT=0
ID=3000
DNAME=`domainname`
echo "\c" > passwd.txt
echo "\c" > error.log
echo `cat $1|nawk '{print $1}'|sort -u|wc -l` "groups \c"
for g in `cat $1|nawk '{print $1}'|sort -u`
do
if [ -z `niscat group.org_dir|nawk -F: '{print $1}'|grep $g` ]
then
   echo ".\c"
   nistbladm -a name=g$g gid=$g group.org_dir
else
   echo Group $g exists >> error.log
fi
done
echo ""
echo `cat $1|wc -l` "users \c"
for u in `cat $1|nawk '{print $1"+"$2"+"$3"+"$4"+"$5}'`
do
NAME=`echo $u|nawk -F+ '{print $2}'`
if [ -z `niscat passwd.org_dir|nawk -F: '{print $1}'|grep $NAME` ]
then
GROUP=`echo $u|nawk -F+ '{print $1}'`
NAME=`echo $u|nawk -F+ '{print $2}'`
COMENT=`echo $u|nawk -F+ '{print $3,$4,$5}'`
TMP=`/sbin/gen_pas`
PASS=`echo $TMP|nawk '{print $1}'`
CODE=`echo $TMP|nawk '{print $2}'`
echo ".\c"
while [ ! -z `niscat passwd.org_dir|nawk -F: '{print $3}'|grep $ID` ]
do
   ID=`expr $ID + 1`
done  
nistbladm -a key=$NAME value=$HNAMEEXPHOME$NAME auto_home.org_dir > /dev/null
nistbladm -a name=$NAME passwd=$CODE uid=$ID gid=$GROUP gcos="$COMENT" shell=/bin/ksh home=/home/$NAME passwd.org_dir > /dev/null
nischmod w-r [name=$NAME],passwd.org_dir > /dev/null
nisaddcred -p $ID -P $NAME.$DNAME. -l $PASS local > /dev/null
nisaddcred -p unix.$ID@$DNAME -P $NAME.$DNAME. -l $PASS des > /dev/null
nischown $NAME [name=$NAME],passwd.org_dir > /dev/null
mkdir $EXPHOME$NAME
cp /etc/skel/.[a-z]* $EXPHOME$NAME
chown -R $NAMEGROUP $EXPHOME$NAME
echo $GROUP $ID $NAME $PASS $COMENT >> passwd.txt
else
  echo User $NAME exists >> error.log
fi
done
echo ""
echo " Look  passwd.txt and error.log "
else
echo "addusers <file>"
echo "file format: gid login name1 name2 name3"
fi
else
echo "You isn't root"
fi
####end

ksh addusers.sh后提示:
addusers <file>
file format: gid login name1 name2 name3

于是:
addusers <list.txt>
报错: 'newline or ;' unexpected

list.txt正是按file format的格式写的

这个错误是脚本问题还是list.txt的问题?

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
2 [报告]
发表于 2006-05-24 13:28 |只看该作者
执行+x参数可以看到一些信息

论坛徽章:
0
3 [报告]
发表于 2006-05-24 15:35 |只看该作者
加了,没新信息
syntax error:'newline or ;'unexpect
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP