मैं एक बैश स्क्रिप्ट लिखने की कोशिश कर रहा हूं जिसमें मैं उपयोगकर्ता नाम और पासवर्ड प्राप्त करके, एक सांबा सर्वर से कनेक्ट करता हूं, फिर $ उपयोगकर्ता नाम कहता हूं: $ पासवर्ड @ SERVERNAME।एक smb के पासवर्ड फ़ील्ड में @ साइन से कैसे बचें: // URL
हालांकि, अगर पासवर्ड में @ @ है तो यह असफल हो जाएगा। क्या बैश में पासवर्ड से बाहर निकलने का कोई तरीका है?
अग्रिम धन्यवाद
अद्यतन: मैं इस नेटवर्क प्रिंटर सेट कर रहा हूं
lpadmin -p PRINTER -v smb://$username:[email protected] -E
और यह मामला डॉलर पासवर्ड उस में एक @ चिह्न है में छोड़कर काम करता है; $ उपयोगकर्ता नाम और $ पासवर्ड चर पढ़ने के लिए stdin
केवल दोहराएं – ghostdog74
मुझे लगता है कि समस्या बैश में नहीं है, लेकिन सांबा को यह पहचानने में कि कौन सा '@' पासवर्ड में है और कौन सा '@' पासवर्ड के अंत को चिह्नित करता है। और मुझे संदेह है कि ऐसा करने का एक तरीका है, लेकिन यदि ऐसा है, तो आपको जानकारी के लिए सांबा मैनुअल को देखने की आवश्यकता होगी। 'डॉक्टर, डॉक्टर, जब मैं खुद को इस तरह मारा तो दर्द होता है'? या, दूसरे शब्दों में, पासवर्ड में '@' का उपयोग न करें क्योंकि इससे दुःख होता है। –
शायद '' '' '40 'के साथ सभी' @ 'को बदलने का प्रयास करें ... मुझे नहीं लगता कि यह काम करेगा लेकिन शायद यह चल रहा है। उन्हें बदलने के लिए '$ पासवर्ड = $ {पासवर्ड // @ /% 40}' का उपयोग करें। – dreamlax