मैं zsh में नया हूं और कुछ अजीब व्यवहार की खोज की है, लेकिन यह सबसे ऊपर है।
जब मैं एक zsh फ़ंक्शन में स्थानीय सरणी की घोषणा कर रहा था, तो मैं इस अत्यंत अजीब व्यवहार में आया था कि मैं अपनी .zshrc फ़ाइल के लिए लिख रहा था। जब मैंने एक स्थानीय ऐरे की घोषणा की, तो इसके कारण मेरा उत्साह पागल हो गया। मैंने अंततः इसे दो बहुत ही अजीब कार्यों के लिए वापस ट्रेस किया, जो यादृच्छिक रूप से बनाए गए थे। मैंने इसे एक साधारण मामले में घटा दिया:
% function () { local foobar=(); echo frog; }
% echo ${functions[foobar=]}
echo frog
% echo ${functions[local]}
echo frog
पहली अजीब बात यह है कि frog
अनाम फ़ंक्शन से कभी भी मुद्रित नहीं होता है। लेकिन वास्तव में अजीब बात यह है कि इसके बजाय दो कार्यों का नाम foobar=
और local
निर्माण किया गया है।
यह मेरे zsh शीघ्र के लिए सभी प्रकार की समस्याओं का कारण बनता है। जब भी local
कीवर्ड का उपयोग किया जाता है उसे प्रिंट किया जाता है frog
।
मैं वास्तव में सोच रहा हूं कि उन कार्यों को बनाने के लिए पृथ्वी पर क्या कारण थे।
मै इस्तेमाल कर रहा हूँ zsh 5.0.2