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 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在 ...
最新文章
- ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course
- 重大改变!Python 或将取代 VBA 成为 Excel 官方脚本语言
- OnnxRuntime 性能调优
- Python机器学习笔记:XgBoost算法(亲测)
- 中小企业邮件系统选型攻略
- 计算机信息管理相关课题论文,计算机信息管理课题论文[].doc
- Deformable CNNs论文笔记
- linux ansible_17本技术书籍,4个出色的Firefox扩展,Linux技巧,Buildah,Ansible和其他热门阅读
- Pytorch 一种调整学习率的思路
- 您如何性能测试JavaScript代码?
- thrift (转)
- 移植oprofile到海思
- 利用自定义注解,AOP + redis限制ip访问接口次数
- Linux命令:查看服务器IP地址
- 【delphi】TMS_Component_Pack_v9.2.4.0中的TadvMemo 支持中文完美修改
- Vuex的基本使用及总结(超详细)
- WebStrom代码中出现浅黄色背景
- (C#).NET调用新浪微博转发
- 张玉成科学院计算机所,石晶林-中国科学院大学-UCAS
- 编译git时,make报错:zlib.h: No such file or directory
热门文章
- setns对当前进程无效问题的排查(getpid获取值不变)
- crontab 分时日月周的例子
- 电路1——非正弦周期交流电路
- 词向量模型Word2vec原理
- linux移除包的命令,linux的yum卸载包命令说明
- Android获取软键盘的高度、键盘的打开与关闭、监听键盘处于打开还是关闭状态
- 使用ColorUI构建小程序项目
- mysql root 被锁_MySQL的root权限密码忘记的解决办法
- android自定义弧形,Android 自定义弧形旋转菜单栏——卫星菜单
- 核芯物联国产蓝牙AOA高精度融合定位生态合能伙伴解决方案征集入驻润城新产业(深圳)有限公司2000平智慧城市展厅