[英]how to run grep from script and store output in a file in the destination directory from bash script
[英]Store output from my bash script in a .txt file
我想将我的脚本的 output 存储在一个文件中,但不能。
这是:
#!/bin/bash
if [ "$1" == "" ]
then
echo "Te falta especificar una dirección ip"
echo "Syntax esperado: ./hostDiscovery.sh <ip>"
else
for ip in `seq 1 254`; do
ping -c 1 $1.$ip | grep "64 bytes" | cut -d " " -f 4 | tr -d ":" | tee ip.txt &
done
fi
问题是创建的文件没有数据。 它是空白的。
要快速回答您的问题,只需替换您最后的 pipe ... -d ":" | tee ip.txt &
... -d ":" | tee ip.txt &
与... -d ":" >> ip.txt &
>>
语法将 append 到ip.txt 。 您也可以使用tee -a
到 append 但这也会打印到标准输出。> ip.txt
在脚本顶部清除ip.txt 。这是您的新脚本可能的样子:
#!/bin/bash
if [ "$1" == "" ]; then
echo "Te falta especificar una dirección ip"
echo "Syntax esperado: ./hostDiscovery.sh <ip>"
else
> ip.txt
for ip in `seq 1 254`; do
ping -c 1 $1.$ip | grep "64 bytes" | cut -d " " -f 4 | tr -d ":" | tee -a ip.txt &
done
fi
不过,我对这个脚本有很多话要说。 看起来您正在尝试对某个范围内的所有 ip 地址进行 ping 操作,以测试它们是否处于启动/活动状态。 您可能想查看nmap
例如nmap -sP 192.168.1.1-254
您在每次调用 tee 时都会覆盖 ip.txt。
尝试调用 tee -a 到 append。
男士三通了解详情
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.