Linux脚本练习之script003-将 `/etc/passwd` 文件的第一列取出,并且每列都以一行字符串 `“The account is ‘root‘“` 显示。

Posted 二木成林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux脚本练习之script003-将 `/etc/passwd` 文件的第一列取出,并且每列都以一行字符串 `“The account is ‘root‘“` 显示。相关的知识,希望对你有一定的参考价值。

script003

题目

写一个脚本,可以将 /etc/passwd 文件的第一列取出,并且每列都以一行字符串 "The account is 'root'" 显示。

分析

本题考查的知识点:

  • cut 命令
  • 自定义函数
  • 局部变量
  • 命令替换
  • for...in 循环

思路:

  • 通过 cut 命令获取到 /etc/passwd 文件中的第一列。因为 /etc/passwd 文件每一列都是通过 : 字符进行分隔的,所以可以用 cut 命令切割出来,获取到所有包含用户名的行。
  • 然后遍历所有的用户名,拼接字符串输出即可。

注:使用 cut 命令只是提取 /etc/passwd 文件第一列的一种方式而已,还可以通过 awk等其他命令完成。

脚本

#!/bin/bash

##
# 展示用户名
##
function show_username() 
  # 取出 /etc/passwd 文件的第一列
  local usernames=$(cut -d ":" -f 1 "/etc/passwd")
  # 循环遍历所有用户名,拼接字符串进行显示
  for username in $usernames ; do
      echo "The account is '$username'"
  done


##
# 主函数
##
function main() 
  show_username


# 调用主函数
main

测试

执行 ./script003.sh 即可执行脚本。

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于Linux脚本练习之script003-将 `/etc/passwd` 文件的第一列取出,并且每列都以一行字符串 `“The account is ‘root‘“` 显示。的主要内容,如果未能解决你的问题,请参考以下文章

Linux脚本练习之script074-将字段逆序输出文件的每行

Linux脚本练习之script086-etstat练习之查看各个状态的连接数

Linux脚本练习之script086-etstat练习之查看各个状态的连接数

Linux脚本练习之script075-域名进行计数排序处理

Linux脚本练习之script075-域名进行计数排序处理

Linux脚本练习之script087-netstat练习之查看和3306端口建立的连接