在各种 shell 脚本中,我经常看到两种从名称服务切换库(如/etc/group、/etc/hosts或 )支持的数据库中获取信息的方法/etc/services。一个是getent实用程序,另一个是grep或其他一些文本处理工具。例如:
root@fw-test:~# getent passwd root
root:x:0:0:root:/root:/bin/bash
root@fw-test:~#
root@fw-test:~# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
root@fw-test:~#
Run Code Online (Sandbox Code Playgroud)
..或者:
root@fw-test:~# getent hosts www.blah.com
189.113.174.199 www.blah.com
root@fw-test:~#
root@fw-test:~# host www.blah.com
www.blah.com has address 189.113.174.199
root@fw-test:~#
Run Code Online (Sandbox Code Playgroud)
应在脚本中使用上述两种方法中的哪一种?我的意思是其中一种解决方案比另一种更优雅或更标准吗?