Linux脚本练习之script010-依次向 `/etc/passwd` 文件中的每个用户问好,并且输出对方的 ID。
script010
题目
依次向 /etc/passwd
文件中的每个用户问好,并且输出对方的 ID。如下格式:
hello root is 0
hello bin is 1
分析
本题考查的知识点:
- 自定义函数
- 变量和局部变量
cut
命令for...in
循环语句echo
命令
思路:
- 在
/etc/passwd
文件中第一列和第三列分别表示用户名和用户 ID,因为每一行中各列是通过冒号:
进行分隔的。所以可以通过cut
命令进行获取。当然还可以使用awk
命令进行提取。 - 接着循环遍历所有提取后的用户信息(每行只包括用户名和用户 ID,通过冒号
:
进行分隔),再通过cut
命令分别提取用户名和用户 ID。 - 最后打印它们的信息。
脚本
#!/bin/bash####################################
#
# 功能:依次向 /etc/passwd 文件中的每个用户问好,并且输出对方的 ID。
#
# 使用:直接执行,无须任何参数。
#
######################################
# 依次向 /etc/passwd 文件中的每个用户问好,并且输出对方的 ID
##
function say_hello() {# 提取 /etc/passwd 文件中的每个用户local usersusers=$(cut -d ":" -f 1,3 "/etc/passwd")# 循环遍历所有的用户,向它们问好for user in $users ; do# 提取用户名local usernameusername=$(echo "$user" | cut -d ":" -f 1)# 提取用户idlocal useriduserid=$(echo "$user" | cut -d ":" -f 2)# 打印结果echo "hello $username is $userid"done
}##
# 主函数
##
function main() {# 在主函数中调用say_hello
}# 调用主函数
main
测试
执行 ./script010.sh
启动脚本:
Linux脚本练习之script010-依次向 `/etc/passwd` 文件中的每个用户问好,并且输出对方的 ID。相关推荐
- linux更换登录用户名和密码怎么办,用passwd及chage命令让用户在下次登录Linux时更换密码...
当你在 Linux 系统中使用默认密码创建用户时,你必须强制用户在下一次登录 Linux 时更换密码,做到这一点其实不懂,目前有两种办法,就是使用 passwd 命令或者 chage 命令,以下就具体 ...
- Linux 脚本执行遇到错误时中止,shell 文件内容替换 sed用法
Linux 脚本执行遇到错误时中止, shell 脚本中 : set -x 是开启, set +x是关闭 , set -e 表示有报错即退出, set +e 表示关闭这种设置. set ...
- linux删除最后一个换行符,如果它是文件中的最后一个字符,如何删除换行符?...
perl -pe 'chomp if eof' filename >filename2 或者,编辑文件到位: perl -pi -e 'chomp if eof' filename [编者注: ...
- 【Linux】(用户不在sudoers文件中……) 添加用户到sudoers
[Linux](用户不在sudoers文件中--) 处理这个问题应该先理解其原理再操作 首先要明白root的密码一般用户是不应改知道的,但一般用户有时可能要用到root的一些权限. 这里就有了一个 / ...
- Linux系统开机后/etc/rc.d/rc.local文件中的命令没有执行(已解决)
今天想将linux系统上的svn服务添加到开机自启动,结果重启机器后发现svn服务根本没有起来,检查了添加到/etc/rc.d/rc.local文件的命令没有问题,如下: 看了文件的注释部分才知道,原 ...
- 数据包过滤 系统 linux,Ubuntu16.04安装libpcap开发库对pcap文件中的数据包进行过滤...
Ubuntu16.04下安装了Wireshark的话,应该是已经安装了libpcap0.8的包,如下图: 使用sudo apt-get install libpcap-dev安装开发包,安装后系统显示 ...
- linux内核全局变量重定位,关于可重定位文件中全局变量的一个重定位疑惑,借各位牛刀一用^...
/// 不需要牛刀,不需要阅读源码,如果只是为解决109的含义.楼主执行的查询命令readelf -S test2.o [ 8] .symtab SYMTAB ...
- linux grep命令Ff和wf从两个文件中提取相同内容的行
首先--grep -Ff text1: chr1 1304143 chr1 1304787 chr1 1305007 chr1 1305066 chr1 1305096 ...
- Linux 脚本编写基础
1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在 ...
最新文章
- DirectX10 学习笔记2:在多文档框架中初始化DirectX 10
- 《JavaScript启示录》——导读
- 一直认为 count(1) 比 count(*) 效果高,被同事鄙视了。
- Java 默认/缺省 内存大小,如果没有 -Xms -Xmx
- 汇编语言调用c语言ads,ADS1.2 在汇编代码中调用C函数
- 大象喝水(信息学奥赛一本通-T1032)
- mysql两台服务器怎么做数据同步_让两台服务器的MySQL数据同步(互为主从关系)...
- 一个简单的项目Java后端框架(springboot+maven包括shiro,验证码的生成与使用,异常处理,跨域处理)
- 省市县联动列表html代码,若依添加省市县联动三级菜单
- 芯片可靠性测试要求及标准解析
- 如何利用数字化工具提高工作效率?
- MYSQL的随机函数
- 文件存取服务器是用的什么,什么是文件存储?
- Word文档太大怎样压缩变小?有没有简单的步骤讲解?
- C. Equalize
- office2016专业增强版cmd安装
- DT内核圆柱模板行业站点主动tags三项主动推送插件
- SpringCloud微服务-----skywalking链路追踪
- Linux系统升级sudo版本来解决本地用户获得 root 权限
- QCC304x/QCC514x Pydbg在线调试