V1.8.5 优化软件包检测
This commit is contained in:
parent
76de914a92
commit
0c66f3a05b
|
@ -3,7 +3,7 @@
|
|||
# AutoBuild_Tools for Openwrt
|
||||
# Dependences: bash wget curl block-mount e2fsprogs smartmontools
|
||||
|
||||
Version=V1.8.4
|
||||
Version=V1.8.5
|
||||
|
||||
ECHO() {
|
||||
case $1 in
|
||||
|
@ -42,7 +42,7 @@ ${White}q. 退出
|
|||
exit 0
|
||||
;;
|
||||
u)
|
||||
[ -s ${AutoUpdate_File} ] && {
|
||||
[[ -s ${AutoUpdate_File} ]] && {
|
||||
AutoUpdate_UI
|
||||
} || {
|
||||
ECHO r "\n未检测到 '/bin/AutoUpdate.sh',请确保当前固件支持一键更新!"
|
||||
|
@ -51,7 +51,8 @@ ${White}q. 退出
|
|||
;;
|
||||
x)
|
||||
wget -q ${Github_Raw}/Scripts/AutoBuild_Tools.sh -O ${Tools_Cache}/AutoBuild_Tools.sh
|
||||
if [[ $? == 0 && -s ${Tools_Cache}/AutoBuild_Tools.sh ]];then
|
||||
if [[ $? == 0 && -s ${Tools_Cache}/AutoBuild_Tools.sh ]]
|
||||
then
|
||||
ECHO y "\n[AutoBuild_Tools] 脚本更新成功!"
|
||||
rm -f ${Tools_File}
|
||||
mv -f ${Tools_Cache}/AutoBuild_Tools.sh ${Tools_File}
|
||||
|
@ -64,75 +65,53 @@ ${White}q. 退出
|
|||
fi
|
||||
;;
|
||||
1)
|
||||
[[ ! $(CHECK_PKG block) == true ]] && {
|
||||
ECHO r "\n缺少相应依赖包,请先安装 [block-mount] !"
|
||||
sleep 2
|
||||
} || AutoExpand_UI
|
||||
if_PKG_Depends block lsblk mkfs.ext4:e2fsprogs && AutoExpand_UI
|
||||
;;
|
||||
2)
|
||||
[[ ! $(CHECK_PKG block) == true ]] && {
|
||||
ECHO r "\n缺少相应依赖包,请先安装 [block-mount] !"
|
||||
sleep 2
|
||||
return
|
||||
}
|
||||
[[ ! $(CHECK_PKG smbpasswd) == true ]] && {
|
||||
ECHO r "\n缺少相应依赖包,请先安装 [samba] !"
|
||||
sleep 2
|
||||
return
|
||||
}
|
||||
Samba_UI
|
||||
if_PKG_Depends smbpasswd:samba block && Samba_UI
|
||||
;;
|
||||
3)
|
||||
ECHO y "\nLoading Service Configuration ..."
|
||||
Netstat1=${Tools_Cache}/Netstat1
|
||||
Netstat2=${Tools_Cache}/Netstat2
|
||||
ps_Info=${Tools_Cache}/ps_Info
|
||||
rm -f ${Netstat2} && touch -a ${Netstat2}
|
||||
netstat -ntupa | grep -v "::ffff" |egrep ":::[0-9].+|0.0.0.0:[0-9]+|127.0.0.1:[0-9]+" | awk '{print $1" "$4" "$6" "$7}' | sed -r 's/0.0.0.0:/\1/;s/:::/\1/;s/127.0.0.1:/\1/;s/LISTEN/\1/' | sort | uniq > ${Netstat1}
|
||||
ps -w > ${ps_Info}
|
||||
local i=1;while :;do
|
||||
Proto=$(sed -n ${i}p ${Netstat1} | awk '{print $1}')
|
||||
[[ -z ${Proto} ]] && break
|
||||
Port=$(sed -n ${i}p ${Netstat1} | awk '{print $2}')
|
||||
_Service=$(sed -n ${i}p ${Netstat1} | awk '{print $3}')
|
||||
[[ ${_Service} == '-' ]] && {
|
||||
Service="Unknown"
|
||||
} || {
|
||||
Service=$(echo ${_Service} | cut -d '/' -f2)
|
||||
PID=$(echo ${_Service} | cut -d '/' -f1)
|
||||
Task=$(grep -v "grep" ${ps_Info} | grep "${PID}" | awk '{print $5}')
|
||||
}
|
||||
i=$(($i + 1))
|
||||
echo -e "${Proto} ${Port} ${Service} ${PID} ${Task}" | egrep "tcp|udp" >> ${Netstat2}
|
||||
done
|
||||
clear
|
||||
ECHO x "端口占用列表\n"
|
||||
printf "${Grey}%-10s %-16s %-22s %-12s %-40s\n${White}" 协议 占用端口 服务名称 PID 进程信息
|
||||
local X;while read X;do
|
||||
printf "%-8s %-12s %-18s %-12s %-40s\n" ${X}
|
||||
done < ${Netstat2}
|
||||
ENTER
|
||||
if_PKG_Depends netstat && {
|
||||
ECHO y "\nLoading Service Configuration ..."
|
||||
Netstat1=${Tools_Cache}/Netstat1
|
||||
Netstat2=${Tools_Cache}/Netstat2
|
||||
ps_Info=${Tools_Cache}/ps_Info
|
||||
rm -f ${Netstat2} && touch -a ${Netstat2}
|
||||
netstat -ntupa | grep -v "::ffff" |egrep ":::[0-9].+|0.0.0.0:[0-9]+|127.0.0.1:[0-9]+" | awk '{print $1" "$4" "$6" "$7}' | sed -r 's/0.0.0.0:/\1/;s/:::/\1/;s/127.0.0.1:/\1/;s/LISTEN/\1/' | sort | uniq > ${Netstat1}
|
||||
ps -efww > ${ps_Info}
|
||||
local i=1;while :;do
|
||||
Proto=$(sed -n ${i}p ${Netstat1} | awk '{print $1}')
|
||||
[[ -z ${Proto} ]] && break
|
||||
Port=$(sed -n ${i}p ${Netstat1} | awk '{print $2}')
|
||||
_Service=$(sed -n ${i}p ${Netstat1} | awk '{print $3}')
|
||||
[[ ${_Service} == '-' ]] && {
|
||||
Service="Unknown"
|
||||
} || {
|
||||
Service=$(echo ${_Service} | cut -d '/' -f2)
|
||||
PID=$(echo ${_Service} | cut -d '/' -f1)
|
||||
Task=$(grep -v "grep" ${ps_Info} | grep "${PID}" | awk '{print $5}')
|
||||
}
|
||||
i=$(($i + 1))
|
||||
echo -e "${Proto} ${Port} ${Service} ${PID} ${Task}" | egrep "tcp|udp" >> ${Netstat2}
|
||||
done
|
||||
clear
|
||||
ECHO x "端口占用列表\n"
|
||||
printf "${Grey}%-10s %-16s %-22s %-12s %-40s\n${White}" 协议 占用端口 服务名称 PID 进程信息
|
||||
local X;while read X;do
|
||||
printf "%-8s %-12s %-18s %-12s %-40s\n" ${X}
|
||||
done < ${Netstat2}
|
||||
ENTER
|
||||
}
|
||||
;;
|
||||
4)
|
||||
[[ ! $(CHECK_PKG smartctl) == true ]] && {
|
||||
ECHO r "\n缺少相应依赖包,请先安装 [smartmontools] !"
|
||||
sleep 2
|
||||
} || SmartInfo_UI
|
||||
if_PKG_Depends smartctl:smartmontools && SmartInfo_UI
|
||||
;;
|
||||
5)
|
||||
if [[ $(CHECK_PKG curl) == true ]];then
|
||||
ping 223.5.5.5 -c 1 -W 2 > /dev/null 2>&1
|
||||
[[ $? == 0 ]] && {
|
||||
ECHO y "\n基础网络连接正常!"
|
||||
} || {
|
||||
ECHO r "\n基础网络连接错误!"
|
||||
}
|
||||
ping www.baidu.com -c 1 -W 2 > /dev/null 2>&1
|
||||
[[ $? == 0 ]] && {
|
||||
ECHO y "Baidu 连接正常!"
|
||||
} || {
|
||||
ECHO r "Baidu 连接错误!"
|
||||
}
|
||||
if_PKG_Depends curl nslookup&& {
|
||||
ping 223.5.5.5 -c 1 -W 2 > /dev/null 2>&1 && \
|
||||
ECHO y "\n基础网络连接正常!" || ECHO r "\n基础网络连接错误!"
|
||||
nslookup -type=a 163.com > /dev/null 2>&1 && \
|
||||
ECHO y "基础 IPv4 DNS 解析正常!" || ECHO r "基础 IPv4 DNS 解析错误!"
|
||||
Google_Check=$(curl -I -s --connect-timeout 3 google.com -w %{http_code} | tail -n1)
|
||||
case ${Google_Check} in
|
||||
301)
|
||||
|
@ -142,10 +121,8 @@ ${White}q. 退出
|
|||
ECHO r "Google 连接错误!"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
ECHO r "\n缺少相应依赖包,请先安装 [curl] !"
|
||||
fi
|
||||
sleep 2
|
||||
sleep 2
|
||||
}
|
||||
;;
|
||||
6)
|
||||
cp -a /rom/etc/AutoBuild/Default_Variable /etc/AutoBuild
|
||||
|
@ -165,7 +142,7 @@ ${White}q. 退出
|
|||
clear
|
||||
ECHO x "在线设备列表\n"
|
||||
printf "${Grey}%-8s %-24s %-20s %-10s${White}\n" 序号 "MAC 地址" "IP 地址" 设备名称
|
||||
i=1;grep "br-lan" /proc/net/arp | grep "0x2" | grep -v "0x0" | grep "$(echo $(GET_IP 4) | egrep -o "[0-9]+\.[0-9]+\.[0-9]+")" | awk '{print $4"\t"$1}' | while read X;do
|
||||
i=1;grep "br-lan" /proc/net/arp | grep "0x2" | grep -v "0x0" | awk '{print $4"\t"$1}' | while read X;do
|
||||
printf " %-5s %-22s %-18s %-10s\n" ${i} ${X} $(if_Empty "$(grep $(echo ${X} | awk '{print $2}') /tmp/dhcp.leases | awk '{print $4}' | head -n 1)" 未知)
|
||||
i=$(($i + 1))
|
||||
done
|
||||
|
@ -173,32 +150,28 @@ ${White}q. 退出
|
|||
ENTER
|
||||
;;
|
||||
9)
|
||||
if [[ $(CHECK_PKG mkswap) == true ]];then
|
||||
echo
|
||||
read -p "请输入交换文件存放的位置:" swap_Path
|
||||
read -p "请输入交换分区的大小:" swap_Size
|
||||
if [[ -f ${swap_Path}/swapfile ]]
|
||||
then
|
||||
ECHO r "\n目录 '${swap_Path}' 下已存在交换文件 'swapfile', 且文件大小为 $(du ${swap_Path}/swapfile -h | cut -d '' -f1)
|
||||
echo
|
||||
read -p "请输入交换文件存放的位置:" swap_Path
|
||||
read -p "请输入交换分区的大小:" swap_Size
|
||||
if [[ -f ${swap_Path}/swapfile ]]
|
||||
then
|
||||
ECHO r "\n目录 '${swap_Path}' 下已存在交换文件 'swapfile', 且文件大小为 $(du ${swap_Path}/swapfile -h | cut -d '' -f1)
|
||||
继续操作将会覆盖该目录下原有的 swapfile 文件!\n"
|
||||
read -p "是否继续操作?[Y/n]:" Choose
|
||||
[[ ! ${Choose} == [Yesyes] ]] && continue
|
||||
[[ ! -w ${swap_Path}/swapfile ]] && chmod 777 ${swap_Path}/swapfile
|
||||
swapoff -a
|
||||
rm -rf ${swap_Path}/swapfile
|
||||
fi
|
||||
ECHO y "\n开始创建 ${swap_Path}/swapfile ..."
|
||||
dd if=/dev/zero of=${swap_Path}/swapfile bs=1M count=${swap_Size}
|
||||
if [[ $? == 0 ]]
|
||||
then
|
||||
mkswap ${swap_Path}/swapfile && ECHO y "已成功创建交换文件 [${swap_Path}/swapfile], 可手动前往 '系统-挂载点' 进行设置!" || ECHO r "交换文件创建失败!"
|
||||
chmod 0600 ${swap_Path}/swapfile
|
||||
else
|
||||
ECHO r "交换文件创建失败!"
|
||||
rm -rf ${swap_Path}/swapfile
|
||||
fi
|
||||
read -p "是否继续操作?[Y/n]:" Choose
|
||||
[[ ! ${Choose} == [Yesyes] ]] && continue
|
||||
[[ ! -w ${swap_Path}/swapfile ]] && chmod 777 ${swap_Path}/swapfile
|
||||
swapoff -a
|
||||
rm -rf ${swap_Path}/swapfile
|
||||
fi
|
||||
ECHO y "\n开始创建 ${swap_Path}/swapfile ..."
|
||||
dd if=/dev/zero of=${swap_Path}/swapfile bs=1M count=${swap_Size}
|
||||
if [[ $? == 0 ]]
|
||||
then
|
||||
mkswap ${swap_Path}/swapfile && ECHO y "已成功创建交换文件 [${swap_Path}/swapfile], 可手动前往 '系统-挂载点' 进行设置!" || ECHO r "交换文件创建失败!"
|
||||
chmod 0600 ${swap_Path}/swapfile
|
||||
else
|
||||
ECHO r "\n当前设备不支持创建虚拟内存!"
|
||||
ECHO r "交换文件创建失败!"
|
||||
rm -rf ${swap_Path}/swapfile
|
||||
fi
|
||||
sleep 3
|
||||
;;
|
||||
|
@ -206,8 +179,29 @@ ${White}q. 退出
|
|||
done
|
||||
}
|
||||
|
||||
if_PKG_Depends() {
|
||||
while [[ $1 ]];do
|
||||
CMD=$(echo $1 | cut -d ':' -f1)
|
||||
PKG=$(echo $1 | cut -d ':' -f2)
|
||||
[[ -z ${PKG} ]] && PKG=${CMD}
|
||||
if [[ $(CHECK_PKG ${CMD}) == false ]]
|
||||
then
|
||||
if_False=1
|
||||
ECHO r "\n缺少软件包: [${PKG}]"
|
||||
fi
|
||||
shift
|
||||
done
|
||||
if [[ ${if_False} == 1 ]]
|
||||
then
|
||||
sleep 2
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
if_Empty() {
|
||||
if [[ -n $1 ]]
|
||||
if [[ $1 ]]
|
||||
then
|
||||
echo $1
|
||||
else
|
||||
|
@ -216,8 +210,7 @@ if_Empty() {
|
|||
}
|
||||
|
||||
AutoExpand_UI() {
|
||||
USB_Info
|
||||
[[ $? == 0 ]] && {
|
||||
USB_Info && {
|
||||
clear
|
||||
ECHO x "USB 扩展内部空间\n"
|
||||
printf "${Yellow}%-7s %-14s %-40s %-14s %-15s %-18s %-10s\n${White}" 编号 设备 UUID 分区格式 挂载点 可用空间 状态
|
||||
|
@ -247,18 +240,14 @@ AutoExpand_UI() {
|
|||
AutoExpand_UI
|
||||
;;
|
||||
*)
|
||||
[[ ${Choose} =~ [0-9] && ${Choose} -le ${Logic_Disk_Count} && ${Choose} -gt 0 ]] > /dev/null 2>&1 && {
|
||||
if [[ $(CHECK_PKG mkfs.ext4) == true ]];then
|
||||
Choose_Disk=$(sed -n ${Choose}p ${Disk_Processed_List} | awk '{print $2}')
|
||||
Choose_Mount=$(grep "${Choose_Disk}" ${Disk_Processed_List} | awk '{print $5}')
|
||||
AutoExpand_Core ${Choose_Disk} ${Choose_Mount}
|
||||
else
|
||||
ECHO r "\n系统缺少相应依赖包,请先安装 [e2fsprogs] !" && sleep 2
|
||||
return
|
||||
fi
|
||||
} || {
|
||||
if [[ ${Choose} =~ [0-9] && ${Choose} -le ${Logic_Disk_Count} && ${Choose} -gt 0 ]] > /dev/null 2>&1
|
||||
then
|
||||
Choose_Disk=$(sed -n ${Choose}p ${Disk_Processed_List} | awk '{print $2}')
|
||||
Choose_Mount=$(grep "${Choose_Disk}" ${Disk_Processed_List} | awk '{print $5}')
|
||||
AutoExpand_Core ${Choose_Disk} ${Choose_Mount}
|
||||
else
|
||||
AutoExpand_UI
|
||||
}
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
@ -292,7 +281,7 @@ USB_Info() {
|
|||
lsblk | grep disk | awk '{print "/dev/"$1}' | sort | uniq > ${Phy_Disk_List}
|
||||
}
|
||||
echo -ne "\r \r"
|
||||
[[ -n $(cat ${Phy_Disk_List}) ]] && return 0 || return 1
|
||||
[[ $(cat ${Phy_Disk_List}) ]] && return 0 || return 1
|
||||
}
|
||||
|
||||
AutoExpand_Core() {
|
||||
|
@ -303,23 +292,21 @@ AutoExpand_Core() {
|
|||
[[ ${Choose} == [Yesyes] ]] && {
|
||||
ECHO y "\n开始运行一键挂载脚本 ..."
|
||||
sleep 2
|
||||
} || return
|
||||
} || return 0
|
||||
echo "禁用自动挂载 ..."
|
||||
uci set fstab.@global[0].auto_mount='0'
|
||||
uci commit fstab
|
||||
[[ ! $2 == '-' ]] && {
|
||||
echo "卸载设备 '$1' 位于 '$2' ..."
|
||||
umount -l $2 > /dev/null 2>&1
|
||||
[[ $? != 0 ]] && {
|
||||
umount -l $2 > /dev/null 2>&1 && {
|
||||
ECHO r "设备 '$2' 卸载失败!"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
echo "正在格式化设备 '$1' 为 ext4 格式,请耐心等待 ..."
|
||||
mkfs.ext4 -F $1 > /dev/null 2>&1
|
||||
[[ $? == 0 ]] && {
|
||||
echo "设备 '$1' 已成功格式化为 ext4 格式!"
|
||||
mkfs.ext4 -F $1 > /dev/null 2>&1 && {
|
||||
USB_Info
|
||||
echo "设备 '$1' 已成功格式化为 ext4 格式!"
|
||||
} || {
|
||||
ECHO r "设备 '$1' 格式化失败!"
|
||||
exit 1
|
||||
|
@ -338,7 +325,6 @@ AutoExpand_Core() {
|
|||
mount --bind / /tmp/introot || {
|
||||
ECHO r "绑定 '/' 到 '/tmp/introot' 失败!"
|
||||
exit 1
|
||||
|
||||
}
|
||||
mount $1 /tmp/extroot || {
|
||||
ECHO r "挂载 '$1' 到 '/tmp/extroot' 失败!"
|
||||
|
@ -373,11 +359,10 @@ EOF
|
|||
}
|
||||
|
||||
Samba_UI() {
|
||||
USB_Info
|
||||
Samba_tmp="${Tools_Cache}/AutoSamba"
|
||||
[[ ! -d ${Tools_Cache} ]] && mkdir -p "${Tools_Cache}"
|
||||
while :
|
||||
do
|
||||
USB_Info
|
||||
autoshare_Mode="$(uci get samba.@samba[0].autoshare)"
|
||||
clear
|
||||
ECHO x "Samba 工具箱\n"
|
||||
|
@ -447,16 +432,14 @@ EOF
|
|||
sed -i '/invalid users/d' /etc/samba/smb.conf.template >/dev/null 2>&1
|
||||
ECHO y "\n注意: 将为 root 用户设置密码,同时自动允许 root 用户进行访问,
|
||||
请连续输入两次相同的密码,输入的内容不会显示,完成后回车即可!\n"
|
||||
smbpasswd -a root
|
||||
[[ $? == 0 ]] && {
|
||||
smbpasswd -a root && {
|
||||
ECHO y "\n已为 root 用户设置 Samba 访问密码!"
|
||||
/etc/init.d/samba restart
|
||||
} || {
|
||||
ECHO r "\nSamba 访问密码设置失败!"
|
||||
}
|
||||
} || ECHO r "\nSamba 访问密码设置失败!"
|
||||
;;
|
||||
5)
|
||||
if [ -s /etc/samba/smbpasswd ];then
|
||||
if [[ -s /etc/samba/smbpasswd ]]
|
||||
then
|
||||
smbpasswd -x root
|
||||
ECHO y "\n已删除 Samba 访问密码!"
|
||||
/etc/init.d/samba restart
|
||||
|
@ -515,14 +498,14 @@ ${White}q. 返回\n"
|
|||
6)
|
||||
echo ""
|
||||
read -p "请输入新的 Github 地址:" Github_URL
|
||||
[[ -n ${Github_URL} ]] && bash ${AutoUpdate_File} -C ${Github_URL} || {
|
||||
[[ ${Github_URL} ]] && bash ${AutoUpdate_File} -C ${Github_URL} || {
|
||||
ECHO r "\nGithub 地址不能为空!"
|
||||
}
|
||||
;;
|
||||
7)
|
||||
echo ""
|
||||
read -p "请输入新的固件标签:" FLAG
|
||||
[[ -n ${FLAG} ]] && bash ${AutoUpdate_File} --flag ${FLAG} || {
|
||||
[[ ${FLAG} ]] && bash ${AutoUpdate_File} --flag ${FLAG} || {
|
||||
ECHO r "\n固件标签不能为空!"
|
||||
}
|
||||
;;
|
||||
|
@ -539,8 +522,8 @@ ${White}q. 返回\n"
|
|||
;;
|
||||
11)
|
||||
echo ""
|
||||
read -p "请输入你想要的启动方式[UEFI/BIOS]:" _BOOT
|
||||
[[ -n ${_BOOT} ]] && bash ${AutoUpdate_File} -B ${_BOOT} || {
|
||||
read -p "请输入你想要的启动方式[UEFI/BIOS]:" BOOT
|
||||
[[ ${BOOT} ]] && bash ${AutoUpdate_File} -B ${BOOT} || {
|
||||
ECHO r "\n启动方式不能为空!"
|
||||
}
|
||||
;;
|
||||
|
@ -550,9 +533,7 @@ done
|
|||
}
|
||||
|
||||
SmartInfo_UI() {
|
||||
USB_Info
|
||||
if [[ $? == 0 ]]
|
||||
then
|
||||
USB_Info && {
|
||||
clear
|
||||
ECHO x "硬盘信息列表"
|
||||
cat ${Phy_Disk_List} | while read Phy_Disk;do
|
||||
|
@ -560,11 +541,11 @@ SmartInfo_UI() {
|
|||
sleep 1
|
||||
done
|
||||
ENTER
|
||||
else
|
||||
} || {
|
||||
ECHO r "未检测到任何外接设备,请检查 USB 接口可用性或插入更多 USB 设备!"
|
||||
sleep 2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
SmartInfo_Core() {
|
||||
|
@ -579,7 +560,7 @@ SmartInfo_Core() {
|
|||
Phy_Name=$(GET_INFO "Device Model:")
|
||||
FW_Version=$(GET_INFO "Firmware Version:")
|
||||
Phy_Temp=$(grep "Temperature_Celsius" ${Smart_Info3} | awk '{print $10}')
|
||||
[[ -n ${Phy_Temp} ]] && Phy_Temp="${Phy_Temp}°C"
|
||||
[[ ${Phy_Temp} ]] && Phy_Temp="${Phy_Temp}°C"
|
||||
Phy_ID=$(GET_INFO "Serial number:")
|
||||
Phy_Capacity=$(GET_INFO "User Capacity:")
|
||||
Phy_Part_Number=$(grep -c "${Phy_Disk}" ${Disk_Processed_List})
|
||||
|
@ -588,18 +569,20 @@ SmartInfo_Core() {
|
|||
TRIM_Command=$(GET_INFO "TRIM Command:")
|
||||
Power_On=$(grep "Power_On_Hours" ${Smart_Info3} | awk '{print $10}')
|
||||
Power_Cycle_Count=$(grep "Power_Cycle_Count" ${Smart_Info3} | awk '{print $10}')
|
||||
if [[ -n ${Power_On} ]]
|
||||
if [[ ${Power_On} ]]
|
||||
then
|
||||
Power_Status="${Power_On} 小时 / ${Power_Cycle_Count} 次"
|
||||
fi
|
||||
if [[ $(GET_INFO "Rotation Rate:") =~ "Solid State" ]];then
|
||||
if [[ $(GET_INFO "Rotation Rate:") =~ "Solid State" ]]
|
||||
then
|
||||
Phy_Type="固态硬盘"
|
||||
Phy_RPM="不可用"
|
||||
local LBAs_Written="$(grep "Total_LBAs_Written" ${Smart_Info3} | awk '{a=$10*512/1024/1024} {printf("%.2f",a)}') GB"
|
||||
local LBAs_Read="$(grep "Total_LBAs_Read" ${Smart_Info3} | awk '{a=$10*512/1024/1024} {printf("%.2f",a)}') GB"
|
||||
else
|
||||
Phy_Type="其他"
|
||||
if [[ $(GET_INFO "Rotation Rate:") =~ rpm ]];then
|
||||
if [[ $(GET_INFO "Rotation Rate:") =~ rpm ]]
|
||||
then
|
||||
Phy_RPM=$(GET_INFO "Rotation Rate:")
|
||||
Phy_Type="机械硬盘"
|
||||
fi
|
||||
|
@ -609,7 +592,8 @@ SmartInfo_Core() {
|
|||
}
|
||||
Phy_LB=$(GET_INFO "Logical block size:")
|
||||
Phy_PB=$(GET_INFO "Physical block size:")
|
||||
if [[ -n ${Phy_PB} ]];then
|
||||
if [[ ${Phy_PB} ]]
|
||||
then
|
||||
Phy_BS="${Phy_LB} / ${Phy_PB}"
|
||||
else
|
||||
Phy_BS="${Phy_LB}"
|
||||
|
@ -643,7 +627,8 @@ Sysinfo() {
|
|||
CPU_Model=$(awk -F ':[ ]' '/model name/{printf ($2);exit}' /proc/cpuinfo)
|
||||
CPU_Threads=$(grep 'processor' /proc/cpuinfo | sort -u | wc -l)
|
||||
CPU_Usage=$(top -n 1 | grep "CPU:" | awk '{print $2}')
|
||||
if [[ -z ${CPU_Model} ]];then
|
||||
if [[ -z ${CPU_Model} ]]
|
||||
then
|
||||
CPU_Model=$(awk -F ':[ ]' '/system type/{printf ($2);exit}' /proc/cpuinfo)
|
||||
Low_Mode=1
|
||||
else
|
||||
|
@ -681,7 +666,7 @@ Sysinfo() {
|
|||
}
|
||||
echo -e "${Grey}CPU 使用率${Yellow} ${CPU_Usage}"
|
||||
echo -e "${Grey}IPv4 地址${Yellow} $(echo ${IPv4})"
|
||||
[[ -n ${IPv6} ]] && echo -e "${Grey}IPv6 地址${Yellow} [${IPv6}]"
|
||||
[[ ${IPv6} ]] && echo -e "${Grey}IPv6 地址${Yellow} [${IPv6}]"
|
||||
echo -e "${Grey}运行时间${Yellow} ${Sys_Startup}"
|
||||
echo -e "${Grey}文件系统${Yellow} $(echo ${Support_Format})"
|
||||
echo -e "${Grey}在线用户${Yellow} ${Online_Users}"
|
||||
|
@ -708,7 +693,7 @@ GET_INFO() {
|
|||
for i in ${Smart_Info1} ${Smart_Info2} ${Smart_Info3};do
|
||||
_Result="$(grep "$1" ${i} 2> /dev/null | cut -d ':' -f2-10)"
|
||||
Result=$(eval echo "\${_Result}")
|
||||
[[ -n ${Result} ]] && break
|
||||
[[ ${Result} ]] && break
|
||||
done
|
||||
echo ${Result}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue