📜  显示用户名 mac 组 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:55:12.474000             🧑  作者: Mango

显示用户名、MAC地址和组的Shell Bash程序

本Shell Bash程序用于显示当前系统中的用户名、MAC地址和组信息。它通过执行一系列命令和使用适当的过滤器来获取所需的信息,并将结果以Markdown格式返回。

#!/bin/bash

# 获取用户名
username=$(whoami)

# 获取MAC地址
mac=$(ifconfig | grep -Eo "([0-9a-f]{2}:){5}[0-9a-f]{2}" | head -n 1)

# 获取组信息
groups=$(groups | tr ' ' '\n') # 将组信息分成多行

# 构建Markdown格式输出
output="## 用户名:$username\n\n"
output+="MAC地址:$mac\n\n"
output+="组信息:\n\n"

while read -r group; do
  output+="- $group\n"
done <<< "$groups"

echo "$output"

该程序首先通过whoami命令获取当前用户名,并将结果保存在username变量中。

接下来,使用ifconfig命令获取系统中的网络接口信息,并通过grep和正则表达式匹配获取第一个MAC地址,并将其保存在mac变量中。

然后,使用groups命令获取当前用户所属的所有组,将结果通过tr命令将空格分隔的组信息转换为换行分隔,并将其保存在groups变量中。

最后,通过一个循环遍历groups变量,并将每个组信息添加到输出字符串output中,并以Markdown列表形式显示。

最后,输出结果通过echo命令打印到标准输出。

在Markdown格式中,##用于表示二级标题,-用于表示列表项。