我需要编一个检查用户的shell,是这么编的
#!/bin/bash
for in
do
if grep -q "^$in:" /etc/passwd; then
...
else
echo "User $in not found"
fi
done
现在我需要输出用户的姓名,ID还有全称,那该怎么加,主要是我不知道如何把命令行的输出转化到变量中,而且不知道在"***:****:***:***:..."这种类似的字符串中截取我想要的那一段字符串(比如第三个:到第四个:之间),大侠们帮帮忙.谢谢了.
[问题]大侠帮忙,字符串处理问题??
-
- 帖子: 6
- 注册时间: 2008-05-05 16:29
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- laborer
- 帖子: 1016
- 注册时间: 2005-10-25 11:15
- 联系:
来个sed的

代码: 全选
cat /etc/passwd | sed 's/^\([^:]*\):\([^:]*:\)\{3\}\([^:,]*\).*$/\1\t\3/'
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser