📅  最后修改于: 2023-12-03 14:55:12.474000             🧑  作者: Mango
本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格式中,##
用于表示二级标题,-
用于表示列表项。