永发信息网

关于Linux批处理建立多个用户

答案:5  悬赏:0  手机版
解决时间 2021-05-16 07:35
  • 提问者网友:雾里闻花香
  • 2021-05-15 13:44

#vi /root/user100.sh

#! bin/bash

i=1

path=/tmp

while[$i -ne 101]

do

if ! grep "^user$i:" /etc/passwd>/dev/null 2>& 1

then

useradd user$i

fi

if[! -d $path/dir$i]

then

cd $path

mkdir dir$i

chown user$i.user$i dir$i

chmod 751 dir$i

fi

i=$[i+1]

done

代码用于先建立100个用户名,然后再建立100个对应的文件夹

修改权限

#cd

#chmod +x user100.sh

运行

#./user100.sh

这是怎么回事?

最佳答案
  • 五星知识达人网友:傲气稳了全场
  • 2021-05-15 15:08

#!/bin/bash


LC_ALL=C
i=1
path="/tmp"


while [ "$i" -lt 101 ]
do
if ! grep -qe "^user$i:" /etc/passwd ; then
useradd user$i
fi


if [ ! -d "$path/dir$i" ] ; then
cd $path
mkdir dir$i
chown user$i.user$i dir$i
chmod 751 dir$i
fi


i=$(($i+1))
done



--------------- 这是替你排除了错误的代码--------------------------------

全部回答
  • 1楼网友:痴妹与他
  • 2021-05-15 19:49
靠这么复杂,一个for循环就足够了啊。
  • 2楼网友:渡鹤影
  • 2021-05-15 19:05

拜托

if [ 1 -gt 0 ]; then

echo ""

fi

语法是类似这样的 。。。 中括号里要前后空格 then前面要 封号;

  • 3楼网友:笑迎怀羞
  • 2021-05-15 17:41

while和if那里都是格式不对

你少空格了

第五行的错误是因为你的格式不对,所以认为命令是while[$i -ne 101] 而不是while没有找到该命令

因为没有while所以你那个do是多余的,提示错误是没要找到邻近的

第13行的IF也是一样

  • 4楼网友:行路难
  • 2021-05-15 16:29

while[$i -ne 101] 格式不对

while [ $i -ne 101 ]

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯