lftp, stdout, stderr और SAP exec_protocol
हमारे पास SFTP करने के लिए लिनेक्स स्क्रिप्ट्स हैं। इसलिए विक्रेता निर्धारित कुंजी के साथ प्रमाणित करता है और फिर पासवर्ड के लिए संकेत देता है। पासवर्ड दर्ज होने तक, आप केवल आंशिक रूप से प्रमाणित हैं। इसलिए मेरे मानक स्क्रिप्ट काम नहीं कर रहे हैं। उस के आसपास जाने के लिए, मुझे पता चला कि lftpएक स्क्रिप्ट में पासवर्ड पास किया जा सकता है और एक फाइल डालने और प्राप्त करने की स्क्रिप्टिंग की समस्या को हल करता है। यहाँ मेरी स्क्रिप्ट है:
#!/bin/sh
# ###########################
# Parameters
# $1 Source Directory # $2 Source File
# $3 Target IP # $4 Target File
# $5 Target Directory # $6 Mode (binary or ascii)
# $7 User # $8 Pwd
# ###########################
lftp sftp://$7:$8@$3 -e "cd $5; put $1$2; bye"
इस स्क्रिप्ट को फ़ंक्शन को कॉल करके SAP abap प्रोग्राम से कहा जाता है SXPG_COMMAND_EXECUTE। शेल स्क्रिप्ट से वापसी जानकारी आमतौर पर रिटर्न पैरामीटर में कैप्चर की जाती है EXEC_PROTOCOL। सभी अन्य बैश स्क्रिप्ट के साथ ठीक काम करता है lftp, लेकिन इसके साथ , हमें स्टडआउट से कुछ भी नहीं मिल रहा है। हमें त्रुटियां मिलती हैं इसलिए मैं मान रहा हूं कि यह स्टैडर पर कब्जा कर रहा है। किसी भी विचार यह क्यों है?
जवाब
इसका न तो SAP और न ही ABAP से कोई लेना-देना है। ServerFault.com पर यहां पोस्ट देखें ।
हो सकता है कि कमांड अपने आउटपुट को बफ़र कर रही हो, वहां स्वीकृत उत्तर देखें और इसे अनबॉफर करने का प्रयास करें।