मुझे परिणाम प्रिंट करने के लिए grep नहीं मिल सकता है


1

यहाँ कुल noob। मैं आँख बंद करके बैश के माध्यम से अपने तरीके से ठोकर खा रहा हूं। मुझे लगता है कि निम्नलिखित स्क्रिप्ट में एक वाक्यविन्यास त्रुटि है लेकिन, मैं इसका पता नहीं लगा सकता। स्क्रिप्ट वहीं बैठती है।

#!/bin/bash

mac=`tail -F ~/scripts/scan.txt | grep -i "IP:" | cut -d "(" -f2 | cut -d ")" -f1` 

sudo dhcpdump -i wlan0 > ~/scripts/scan.txt
echo $mac

किसी भी मदद के लिए धन्यवाद। जब मुझे पता चलता है तो मैं एक बेवकूफ की तरह महसूस करता हूं।


1
आप क्या करने की कोशिश कर रहे हैं, बिल्कुल? इसका -Fविकल्प tailशायद कुछ ऐसा नहीं है जिसे आप एक चर असाइनमेंट में चाहते हैं क्योंकि यह बाइट्स के लिए फ़ाइल में संलग्न होने के लिए प्रतीक्षा को अवरुद्ध करेगा।
स्टीलड्राइवर

लाइनों के क्रम को भी बदलें, पहली पंक्ति में आप एक फ़ाइल पढ़ रहे हैं जो अभी तक मौजूद नहीं है (शायद, स्क्रिप्ट के अनुसार) .. यह दूसरी पंक्ति (यदि पहले से मौजूद नहीं है) से उत्पन्न होगी ..
heemayl

की सामग्री क्या है ~/scripts/scan.txt? मुझे @AB
AB

जवाबों:


0

सबसे पहले, scan.txt को लगातार स्कैन -F द्वारा मॉनिटर किया जा रहा है, जो कभी नहीं बुझता है। दूसरे, grep "IP:" विफल रहता है - इसके बजाय "IP" आज़माएं, और तीसरा यह कि आपके द्वारा चेक किए जाने के बाद आप स्कैन.txt फ़ाइल उत्पन्न कर रहे हैं।

आपको पहले प्रोग्राम लाइन में कुछ भी करने के लिए समयबद्ध प्रक्रिया के रूप में चलने वाली dhcpdump लाइन की आवश्यकता होगी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.