如何停止在脚本中显示回显

如何停止在脚本中显示回显

我有一个可以生成另一个脚本的 bash 脚本。我只想将输出回显到文件,但无论我尝试什么(例如 &>),它都会显示在屏幕上。以下是代码:

while read line; do echo "sudo ufw deny from "$line" to any"; done < /home/photobcdev/hack-ban.txt  >>/home/photobcdev/hack-ban.tmp

它运行良好,但每次运行时都会显示数百行。如何让它安静下来?以下是用于上下文信息的完整脚本:

#!/bin/bash
DATE=$(date +%Y-%m-%d--%H-%M)
echo $(date)"   Suppression fichiers temporaires"
rm /home/photobcdev/hack.txt 2> /dev/null
rm /home/photobcdev/hack-ip.txt 2> /dev/null
rm /home/photobcdev/hack-ban.txt 2> /dev/null
rm /home/photobcdev/hack-ban.tmp 2> /dev/null
rm /home/photobcdev/hack-ban-diff.sh 2> /dev/null
echo $(date)"   Génération liste IPs"
sudo grep 'Disconnected from invalid user' /var/log/auth.log>>/home/photobcdev/hack.txt
grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' /home/photobcdev/hack.txt>>/home/photobcdev/hack-ip.txt
sort -u /home/photobcdev/hack-ip.txt>>/home/photobcdev/hack-ban.txt
wc -l /home/photobcdev/hack-ban.txt
echo $(date)"   Génération script ufw ban /IP"
#while read line; do echo "sudo ufw deny from "$line" to any"; done < /home/photobcdev/hack-ban.txt  >>/home/photobcdev/hack-ban.tmp
while read line; do
  echo "sudo ufw deny from $line to any" >> /home/photobcdev/hack-ban.tmp
  done < /home/photobcdev/hack-ban.txt
echo $(date)"   Création fichier final"
sort -u /home/photobcdev/hack-ban.tmp>>/home/photobcdev/hack-ban-${DATE}.sh
sort -u /home/photobcdev/hack-ban.sh
wc -l /home/photobcdev/hack-ban-${DATE}.sh
chmod +x /home/photobcdev/hack-ban-${DATE}.sh
grep -v -f /home/photobcdev/hack-ban.sh /home/photobcdev/hack-ban-${DATE}.sh >>/home/photobcdev/hack-ban-diff.sh
if [ -s /home/photobcdev/hack-ban-diff.sh ]; then
        # Fichier non vide
        echo $(date)"  Fichier hack-ban-diff.sh généré"
        wc -l /home/photobcdev/hack-ban-diff.sh
        rm -f /home/photobcdev/hack-ban.sh  2> /dev/null
        mv /home/photobcdev/hack-ban-${DATE}.sh /home/photobcdev/hack-ban.sh
        chmod +x /home/photobcdev/hack-ban-diff.sh
        echo $(date)"   Exécution hack-ban-diff.sh"
        /home/photobcdev/hack-ban-diff.sh
else
        # Fichier vide
        rm -f /home/photobcdev/hack-ban-diff.sh  2> /dev/null
        rm -f /home/photobcdev/hack-ban-${DATE}.sh  2> /dev/null
        echo $(date)"  Pas de nouvelles IP détectées"
fi

相关内容