मैं पूरी तरह से ZSH फ़ंक्शंस का उत्पादन कर रहा हूं, और मुझे विभिन्न कार्यों पर नेविगेट करने, आवश्यक डेटा एकत्र करने और फिर फ़ंक्शन को लागू करने की अनुमति देने के लिए एक इंटरैक्टिव मेनू प्रदान करना चाहता हूं। मैंने मेन्यू की कार्यक्षमता को बढ़ाने के लिए कुछ इस तरह लिखा है:
get_input(){
local result_name=$1
for((i=2; i <= $ARGC; i++)); do
echo ${argv[i]}
done
read x
eval "${result_name}=$x"
}
इसे इस तरह लागू करना:
test_get_option(){
selected_option=''
get_input selected_option 'heres the prompt' '1) opt 1' '2) opt 2'
case $selected_option in
1) do_option_1;;
2) do_option_2;;
*) echo "please choose a selection from the options above";;
esac
}
जो काम करता है, लेकिन यह क्लूनी है। मुझे जो पसंद है वह विकल्प पेड़ और कॉल करने के लिए फ़ंक्शंस को परिभाषित करने के लिए कुछ पदानुक्रमित डेटा संरचना (XML या नेस्टेड सूचियाँ या जो कुछ भी) को परिभाषित करने में सक्षम होना है।
क्या किसी को सिस्टम (या ओह-माय-ज़ीएस प्लगइन) की तरह पता है?