在 shell 脚本中循环密码
loop passwd in shell script
如何使用 shell 脚本为服务器用户创建一个循环
我写了这段代码..
#!/bin/bash
b=`awk -F: '{ print }' /etc/passwd | sort`
for $b in /home/$b/ /home/$b/ /home/$b/
echo "$b"
done
我想循环所有用户并显示其
喜欢文件的用户
/etc/passwd
喜欢:
root,admin,cpanel,adm,mysql,user1,user2,user3,user4,user5
我想要输出:
/home/adm
/home/root
/home/admin
/home/mysql
/home/user1
/home/user2
谢谢
在每个用户名前打印/home/
:
$ awk -F: ' { print "/home/" }' /etc/passwd | sort
/home/avahi
/home/backup
/home/bin
/home/clamav
/home/colord
/home/daemon
[...snip...]
如果您想要实际的主目录,可以在字段 6 中找到它们:
$ awk -F: ' { print }' /etc/passwd | sort
/dev/null
/home/john1024
/nonexistent
/root
您还可以使用cut
访问第六个字段:
cut -d: -f6 /etc/passwd | sort
打印多个目录
根据评论中修改后的问题:
$ awk -F: ' { p="/home/"; printf "%s\n%s\n%s\n",p"/www",p"/ftp",p"/etc" }' /etc/passwd | sort
/home/avahi/etc
/home/avahi/ftp
/home/avahi/www
/home/backup/etc
/home/backup/ftp
/home/backup/www
[...snip...]
如何使用 shell 脚本为服务器用户创建一个循环 我写了这段代码..
#!/bin/bash
b=`awk -F: '{ print }' /etc/passwd | sort`
for $b in /home/$b/ /home/$b/ /home/$b/
echo "$b"
done
我想循环所有用户并显示其
喜欢文件的用户
/etc/passwd
喜欢:
root,admin,cpanel,adm,mysql,user1,user2,user3,user4,user5
我想要输出:
/home/adm
/home/root
/home/admin
/home/mysql
/home/user1
/home/user2
谢谢
在每个用户名前打印/home/
:
$ awk -F: ' { print "/home/" }' /etc/passwd | sort
/home/avahi
/home/backup
/home/bin
/home/clamav
/home/colord
/home/daemon
[...snip...]
如果您想要实际的主目录,可以在字段 6 中找到它们:
$ awk -F: ' { print }' /etc/passwd | sort
/dev/null
/home/john1024
/nonexistent
/root
您还可以使用cut
访问第六个字段:
cut -d: -f6 /etc/passwd | sort
打印多个目录
根据评论中修改后的问题:
$ awk -F: ' { p="/home/"; printf "%s\n%s\n%s\n",p"/www",p"/ftp",p"/etc" }' /etc/passwd | sort
/home/avahi/etc
/home/avahi/ftp
/home/avahi/www
/home/backup/etc
/home/backup/ftp
/home/backup/www
[...snip...]