linux - WHILE循环不循环

标签 linux bash shell while-loop

我对 Linux 和 shell 脚本还很陌生。

我的问题是,脚本应该从名为“列表”的文件中读取 2 个标记 - 使用这些标记,它会创建一个用户,并根据第二个标记创建一个子文件夹。它做得很好——但只有一次。只有一次。我的 WHILE 循环有问题吗?

这是“列表”中的几行样例:

egyes n
kettes y
harmas y

这是脚本:

#!/bin/bash
echo " " >> /root/userpass.txt
most=$(date)

while read user rr; do
    p1=${user:0:2}
    p2=${user:3:4}
    pass=$p1$RANDOM$p2
    echo $user - $pass --" LÉTREHOZVA: "$most >> /root/userpass.txt

    adduser $user > /dev/null
    echo $user:$pass | chpasswd > /dev/null

    uhome=/home/$user

    if [ $rr=="y" ]; then
            mkdir $uhome/rockandroll
            chown $user $uhome/rockandroll
    fi

    mkdir $uhome/res-devres
    chown $user $uhome/res-devres

    ftpc=/etc/proftpd/proftpd.conf

    echo "#"$1 >> $ftpc
    echo "<Directory "$uhome"/res-devres/>" >> $ftpc
    echo '  <Limit CDUP XCUP STOR LIST CWD XCWD STOU>' >> $ftpc
    echo '          AllowAll' >> $ftpc
    echo '  </Limit>' >> $ftpc
    echo '  <Limit RETR DELE>' >> $ftpc
    echo '          DenyAll' >> $ftpc
    echo '  </Limit>' >> $ftpc
    echo '</Directory>' >> $ftpc
    echo " " >> $ftpc
    echo " "
done < list

提前致谢。

最佳答案

改变自

if [ $rr=="y" ]; then

if [ $rr == "y" ]; then

关于linux - WHILE循环不循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21905602/

相关文章:

linux - 如何关闭 Expect 脚本中的 stderr 或退出后停止 "Connection to ... closed"消息?

Linux 按顺序显示文件

linux - 一次移动一批文件

linux - PHP 负载监控 - "cat/proc/loadavg: No Such File"错误

linux - 内核模块中的 undefined symbol

linux - 单行 : print all lines except the last 3?

perl - 如何使此命令安全并适用于带引号的字符串

python - 从环境变量中读取 python 字典

shell - UNIX 中的 bc 命令 - 数字系统转换

linux - 我如何开始制作我自己的简单的基于 UNIX 的网络扫描仪?