Linux如何检测系统中是否存在空口令用户

linux怎么查询某个用户是否存在?

我必须和你谈谈这件事。
我以前在系统工作时就做过这样的事。
第一种方法是使用 id -u abc。
这个伎俩实在是太假了。
尝试一下,输入这个命令,它会立即告诉你用户 abc 的 UID。
结果是获取的命令执行后返回值的一部分,即状态码。
还记得这个 echo$ 吗?退货的价格高于订单前一行的订单。
如果 c 中的用户存在并且命令执行成功,$?将为 0。
如果用户不存在,则会返回错误并 $?也许不是 0。
我正在调试一个脚本来检查是否已创建临时用户。
这就是我,很方便。

第二种方法是直接 grep 'abc' /etc/passwd | WC湖我用了这个方法。
/etc/passwd 文件添加所有用户的详细信息,每行一个用户。
使用 grep 'abc' 在此文件大小中搜索用户 abc 的行。
grep 命令如果找到则返回 0,否则返回非 0。
然后 wc -l 将 grep 的输出(找到的行)提供给 wc -l 并计算有多少行。
因此结果部分捕获执行 wc -l 命令后的返回值。
如果想知道用户abc是否存在,也可以使用该方法统计行数。
但这个系统比之前的系统稍微迂回一些。
我曾经想快速确认用户名是否冲突,所以我使用 grx 和 wc 通过单个命令行来完成此操作。

你看,这两个方法检查用户abc是否存在。
首先是直接询问系统“这个用户的UID是什么?”二是翻阅文件,“这个名字在名单上吗?”每个都有自己的好处。
您使用哪一种取决于您的喜好。

顺便说一下,在 grep 'abc' /etc/passwd | 中wc -l,grep 之前的&符号看起来多余吗?基本上只需输入 grep 'abc' /etc/passwd | wc -l 除非您在管道中启动一个新进程并需要它在后台运行,在这种情况下您可以包含 &。
但并不意味着有影响,而且执行效果很好。
我在职业流程之前就用过管道,所以不敢乱说。
简而言之,它会两者兼而有之。
第一种方式是直接使用命令,这样更加人性化。
第二种方法是直接传输文件的几行,这也是可以的。
这取决于您对它的感觉有多舒服。