#请写一个linux脚本collect，入参两个，一个以太网接口名eth，一个目录路径parentpath
#（1）检测eth的驱动是否是zxdh-pf
#（2）检测路径是否存在
#（3）在parentpath下创建子目录dhcollect
#（4）在dhcollect目录下创建dhregs目录
#（4）运行程序dhtool，将eth和创建的dhregs子目录作为程序参数。同时将程序的标准输出重定向到dhregs目录下console文件
# (5) 将dhcollect，dhcollect+日期时间.tar.gz2
#（6）删除dhcollect目录
# Started by AICoder, pid:06f14k364720c1e145aa0885302d95313a494f2c
#!/bin/bash

# 获取输入参数
eth=$1
parentpath=$2

# 检测eth的驱动是否是zxdh-pf
driver=$(ethtool -i $eth | grep driver | awk '{print $2}')
if [ "$driver" != "dinghai10e" ]; then
    echo "Error: The driver of $eth is not zxdh-pf."
    exit 1
fi

# 检测路径是否存在，如果不存在则创建该目录
if [ ! -d "$parentpath" ]; then
    mkdir -p "$parentpath"
fi

# 在parentpath下创建子目录dhcollect
dhcollect="$parentpath/dhcollect"
if [ ! -d "$dhcollect" ]; then
    mkdir "$dhcollect"
fi


# 在dhcollect目录下创建dhstat目录
dhstat="$dhcollect/dhstat"
if [ ! -d "$dhstat" ]; then
    mkdir "$dhstat"
fi

# 运行程序dhtool，将eth和创建的dhstat子目录作为程序参数。同时将程序的标准输出重定向到dhstat目录下console文件
dhtool stat $eth all -w $dhstat/statistics.log > "$dhstat/console"


# 在dhcollect目录下创建dhdiag目录
dhdiag="$dhcollect/dhdiag"
if [ ! -d "$dhdiag" ]; then
    mkdir "$dhdiag"
fi

# 运行程序dhtool，将eth和创建的dhdiag子目录作为程序参数。同时将程序的标准输出重定向到dhdiag目录下console文件
dhtool diag $eth all -w $dhdiag/diag.log > "$dhdiag/console"


# 在dhcollect目录下创建dhlog目录
dhlog="$dhcollect/dhlog"
if [ ! -d "$dhlog" ]; then
    mkdir "$dhlog"
fi

# 运行程序dhtool，将eth和创建的dhlog子目录作为程序参数。同时将程序的标准输出重定向到dhlog目录下console文件
dhtool log $eth all $dhlog > "$dhlog/console"


# 在dhcollect目录下创建dhlink目录
dhlink="$dhcollect/dhlink"
if [ ! -d "$dhlink" ]; then
    mkdir "$dhlink"
fi

# 运行程序dhtool，将eth和创建的dhlink子目录作为程序参数。同时将程序的标准输出重定向到dhlink目录下console文件
dhtool link $eth -m > "$dhlink/console"


# 在dhcollect目录下创建dhmac目录
dhmac="$dhcollect/dhmac"
if [ ! -d "$dhmac" ]; then
    mkdir "$dhmac"
fi

# 运行程序dhtool，将eth和创建的dhregs子目录作为程序参数。同时将程序的标准输出重定向到dhregs目录下console文件
dhtool mac_info $eth mac_info > "$dhmac/console"


# 在dhcollect目录下创建dhfwversoin目录
dhfwversoin="$dhcollect/dhfwversoin"
if [ ! -d "$dhfwversoin" ]; then
    mkdir "$dhfwversoin"
fi

# 运行程序dhtool，将eth和创建的dhregs子目录作为程序参数。同时将程序的标准输出重定向到dhregs目录下console文件
dhtool fwupdate $eth version > "$dhfwversoin/console"

# 在dhcollect目录下创建dhdrversoin目录
dhdrversoin="$dhcollect/dhdrversoin"
if [ ! -d "$dhdrversoin" ]; then
    mkdir "$dhdrversoin"
fi

# 运行程序dhtool，将eth和创建的dhdrversoin子目录作为程序参数。同时将程序的标准输出重定向到dhdrversoin目录下console文件
dhver > "$dhdrversoin/console"

# 将dhcollect目录压缩成tar.gz文件，并添加当前日期时间戳
current_date=$(date +%Y%m%d%H%M%S)
tar -czf "$parentpath/dh_collect_$current_date.tar.gz" -C "$parentpath" dhcollect

# 删除dhcollect目录
rm -rf "$dhcollect"