繁体   English   中英

Shell 脚本在 email 中出现乱码

[英]Shell script garbling text in email

当 RAID 状态不是“最佳”时,我正在使用下面的脚本来 email 我。

其中的 echo 命令,例如:

echo $(/usr/local/RAID\ Web\ Console\ 2/StorCLI/storcli64 /c0 /eall /sall show)

使用无格式文本生成 email,例如:

Drive Information : ================= ----------------------------------------------------------------------- EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp ----------------------------------------------------------------------- 16:0 31 Onln 0 5.456 TB SAS HDD N N 512B ST6000NM0034 U 16:1 30 Onln 0 5.456 TB SAS HDD N N 512B ST6000NM0034 U 16:2 29 Onln 0 5.456 TB SAS HDD N N 512B ST6000NM0034 U 16:3 34 Onln 0 5.456 TB SAS HDD N N 512B ST6000NM0034 U 16:4 33 Onln 0 5.456 TB SAS HDD N N 512B ST6000NM0034 U 16:5 32 Onln 0 5.456 TB SAS HDD N N 512B ST6000NM0034 U 16:6 37 Onln 0 5.456 TB SAS HDD N N 512B ST6000NM0034 U 16:7 36 Onln 0 5.456 TB SAS HDD N N 512B ST6000NM0034 U 16:8 35 Onln 0 5.456 TB SAS HDD N N 512B ST6000NM0034 U 16:9 38 Onln 0 5.456 TB SAS HDD N N 512B ST6000NM0034 U 16:10 41 Onln 0 5.456 TB SAS HDD N N 512B ST6000NM0034 U 16:11 40 Onln 0 5.

而不是:

Drive Information :
=================

-----------------------------------------------------------------------
EID:Slt DID State DG     Size Intf Med SED PI SeSz Model            Sp 
-----------------------------------------------------------------------
16:0     31 Onln   0 5.456 TB SAS  HDD N   N  512B ST6000NM0034     U  
16:1     30 Onln   0 5.456 TB SAS  HDD N   N  512B ST6000NM0034     U  
16:2     29 Onln   0 5.456 TB SAS  HDD N   N  512B ST6000NM0034     U  
16:3     34 Onln   0 5.456 TB SAS  HDD N   N  512B ST6000NM0034     U  
16:4     33 Onln   0 5.456 TB SAS  HDD N   N  512B ST6000NM0034     U  
16:5     32 Onln   0 5.456 TB SAS  HDD N   N  512B ST6000NM0034     U  
16:6     37 Onln   0 5.456 TB SAS  HDD N   N  512B ST6000NM0034     U  
16:7     36 Onln   0 5.456 TB SAS  HDD N   N  512B ST6000NM0034     U  
16:8     35 Onln   0 5.456 TB SAS  HDD N   N  512B ST6000NM0034     U  
16:9     38 Onln   0 5.456 TB SAS  HDD N   N  512B ST6000NM0034     U  
16:10    41 Onln   0 5.456 TB SAS  HDD N   N  512B ST6000NM0034     U  
16:11    40 Onln   0 5.456 TB SAS  HDD N   N  512B ST6000NM0034     U  
-----------------------------------------------------------------------

当然,我没有在这里做一些愚蠢的事情。 提前感谢您的建议。

脚本:

#!/bin/bash

CLISTAT=$(/usr/local/RAID\ Web\ Console\ 2/StorCLI/storcli64 /c0 /vall show | grep RAID6 |awk '{ print $3 }')

if [ "$CLISTAT" = "Optl" ]; then

        echo "RAID status is optimal. All is good!"
        exit 0
else
        (
echo "From: admin@example.org"
echo "To: admin@example.org"
echo "Subject: RAID status alert on server.example.org !!"
echo "X-Priority: 1 (Highest)"
echo "X-MSMail-Priority: High"
echo "Importance: High"
echo ""
date
echo
echo "The RAID status on Socs-Stats is not optimal!"
echo " "
echo "Hard Drive details:"
echo " "
echo $(/usr/local/RAID\ Web\ Console\ 2/StorCLI/storcli64 /c0 /eall /sall show)
echo " "
echo " "
echo "Virtual Drive details:"
echo $(/usr/local/RAID\ Web\ Console\ 2/StorCLI/storcli64 /c0 /vall show)
echo  "----------------------------------------------------------------" 

) | /sbin/sendmail -it 

exit 2

fi

尝试在命令替换周围加上引号:

echo "$(/usr/local/RAID\ Web\ Console\ 2/StorCLI/storcli64 /c0 /eall /sall show)"
echo " "
echo " "
echo "Virtual Drive details:"
echo "$(/usr/local/RAID\ Web\ Console\ 2/StorCLI/storcli64 /c0 /vall show)"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM