[问题] 用sh读一个文字档会有错误

楼主: jubel (木亟缶夬金戋)   2016-04-13 10:08:13
帮朋友发问的
我用sh读一个文字档的内容,里面是e-mail帐号,然后用
passwd去停用e-mail的登入密码,以下程式会有error,该如何修改?
#!/bin/bash
filename="/var/www/html/lock_mail"
exec < $filename
while read var
do
sudo passwd -l $var
done
sudo passwd -l testjen
sudo passwd -l testjen1
sudo passwd -l testjen2
错误讯息如下:
'.sswd: Unknown user name 'testjen
'.sswd: Unknown user name 'testjen1
'.sswd: Unknown user name 'testjen2
Locking password for user testjen.
passwd: Success
Locking password for user testjen1.
passwd: Success
Locking password for user testjen2.
passwd: Success
谢谢
作者: kerwinhui (kezza)   2016-04-13 10:36:00
用bash就不要用sh呼叫…另外,有手动改过 /etc/shadow 或 /etc/passwd 吗?如果是用 sudo -- "password -l $var" 呢?passwd 不是 password
作者: yvb   2016-04-13 15:02:00
猜测输入档为DOS格式. while前加一列 IFS=$' \t\r\n' 试试.请先 file 一下该档, CRLF 换行是DOS格式, CR换行是MAC格式.https://zh.wikipedia.org/wiki/%E6%8F%9B%E8%A1%8C

Links booklink

Contact Us: admin [ a t ] ucptt.com