के साथ मेनू में दिखाएं। मैं एक निर्देशिका में फ़ाइलों को बैश स्क्रिप्ट में विकल्पों के रूप में उपयोग करने का प्रयास कर रहा हूं। उपयोगकर्ता को एक का चयन करने में सक्षम होना चाहिए और फिर चयनित फ़ाइल का नाम एक चर में पास करना चाहिए। अब तक मैं फ़ाइलों की सूची प्राप्त कर सकता हूं, लेकिन कुछ घंटों के बाद कोशिश कर रहा हूं कि मैं उन्हें विकल्पों के रूप में दिखाने का तरीका नहीं समझ सकता।फ़ाइलें सूचीबद्ध करें और उन्हें बैश
#!/bin/bash
prompt="Please select a file:"
options=($(find -maxdepth 1 -print0 | xargs -0))
PS3="$prompt "
select opt in "${options[@]}" "Quit"; do
case "$REPLY" in
for i in "${options[@]}"
do
$i') echo "You picked $opt which is file $REPLY";;'
done
$((${#options[@]}+1))) echo "Goodbye!"; break;;
*) echo "Invalid option. Try another one.";continue;;
esac
done
किसी भी मदद की बहुत सराहना की जाती है। धन्यवाद!
अच्छा काम करता है, धन्यवाद! – castaway
मुझे उपरोक्त कोड का उपयोग कर त्रुटि मिल रही है।/home/RepLoqt # sh -x RevPrxyLogQuery.sh 'शीर्षक =' रिवर्स प्रॉक्सी लॉग क्वेरी टूल (रिपलोक्ट) 'प्रॉम्प्ट =' लॉग फ़ाइल का चयन करें जिसे आप क्वेरी करना चाहते हैं: ++ find ./logfiles -maxdepth 1 -print0 ++ xargs -0 + विकल्प = '(./ logfiles ./logfiles/log_18-44 ./logfiles/log_18-3) ' $ '\ r''Veverse प्रॉक्सी लॉग क्वेरी टूल (RepLoqt) सिक्स प्रॉक्सी लॉग क्वेरी टूल (RepLoqt) 'PS3 =' उस लॉग फ़ाइल का चयन करें जिसे आप क्वेरी करना चाहते हैं: 'evPrxyLogQuery.sh: पंक्ति 7: अप्रत्याशित टोकन ' ' evPrxyLogQuery.sh: पंक्ति 7: 'ऑप्टिमाइज़ त्रुटि' $ { विकल्प [@]} "" छोड़ें "; – antman1p
किसी कारण से, कभी भी ध्यान न दें, क्योंकि मेरे पास फ़ाइल के अंत में .sh एक्सटेंशन था, यह मुझे वह त्रुटि दे रहा था। एक बार जब मैंने एक्सटेंशन हटा दिया, तो यह काम किया ... मुझे यकीन नहीं है कि क्यों। – antman1p