我對Linux和shell腳本相當陌生。WHILE循環不循環
我的問題是,腳本應該從名爲「list」的文件中讀取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
感謝。
東西吃stdin? –
注意:以純文本形式存儲密碼是一個壞主意...... –
它只是用於臨時使用,直到我將它們發送出去。之後,我刪除了這個文件,但那不是重點。 你是什麼意思「吃stdin」? – LZozzy