我在運行一個shell時,出現一個錯誤:
運行shell,並檢測執行情況:
檢查這個錯誤,網上大部分說什麼格式不對,沒有說出主要的原因,再查看原代碼:
並根據錯誤提示對代碼進行一句一句測試,主要測試如下:
find $path -type f -name "*${Time}*.log" | xargs md5sum -c >> $path/${Time}_result.log && \
在命令模式下進行測試:
發現還是錯誤的,那看到此語句分三段,一段一段測試,先測試前面的:
發現其命令可以查出數據,如上圖,再測試一段跟二段一起:
查看命令沒有錯,是不是文件有問題,導致無法正確顯示結果,繼續查找:
發現此文件已顯示比對的結果,無法比對的信息;繼續排錯,也就是說查找命令的結果不對,再擴大範圍查看:
這時比對時就發現問題了,查看路徑下的文件/backup/172.16.1.31:
查看其log文件的內容:
發現其文件的內容,正是命令md5sum -c需要比對的,這裏發現查看的命令不對,改正find的命令:
把find命令更改爲上圖就可以了,並在shell中更改並測試一下shell的功能:
並檢測一下郵件的收發,
,收到郵件,並其他的功能都正常,到此問題解決了;