Ssh से एनवी वर्सेस डीबग करना


0

मैं लिपिक्स के साथ एक एम्बेडेड बोर्ड के लिए एक स्क्रिप्ट और एक आवेदन लिख रहा हूं - कोई एक्स, केवल कंसोल। लक्ष्य तक पहुंचने का एकमात्र तरीका ssh के माध्यम से है, मेरे पास मॉनिटर जुड़ा हुआ नहीं है।

स्क्रिप्ट को env var के एक जोड़े को निर्यात करना चाहिए जो कि एप्लिकेशन द्वारा उपयोग किया जाएगा। मुझे पता है कि मुझे ऐसा करने के लिए स्क्रिप्ट का स्रोत बनाना है, लेकिन मुझे यह डिबग करने में परेशानी हो रही है क्योंकि मुझे नहीं पता है कि स्क्रिप्ट ssh से काम करता है या नहीं।

तुच्छ समाधान हैं:

  • किसी अन्य सिस्टम में स्क्रिप्ट का परीक्षण करें
  • Env vars की जाँच करने और एक फ़ाइल प्रिंट करने के लिए डिबगिंग एप्लिकेशन लॉन्च करें
  • आदि...

मुझे आश्चर्य है कि ऐसा करने के लिए ssh का उपयोग करने का कोई तरीका है। यह कुछ नया सीखने की जिज्ञासा है, वर्कअराउंड ज्ञात हैं!

स्क्रिप्ट का उदाहरण:

#!/bin/sh
export MY_VAR="blablabla"
exit 0

वास्तविक स्क्रिप्ट बेशक अधिक जटिल है, लेकिन यह बात है।

जवाबों:


1

आपने अपनी स्क्रिप्ट का उदाहरण नहीं दिया, इसलिए यह समझना कठिन है कि आप क्या हासिल करना चाहते हैं। वैसे भी आपको पता होना चाहिए कि निर्यात किए गए चर केवल वर्तमान ssh सत्र और उसके बच्चों में दिखाई देते हैं। उदाहरण के लिए:

ssh -t user @ रिमोटहोस्ट "Export TEST = test && echo \ $ TEST" - आउटपुट 'टेस्ट'
ssh -t user @ रिमोटहोस्ट "export TEST = test" && ssh -t user @ रिमोटहोस्ट "$ TEST" - ouput रिक्त है
यदि आप var को स्थायी रूप से परिभाषित करना चाहते हैं तो इसे .bashrc या .bash_profile में करें


अनुरोध के अनुसार उदाहरण जोड़ा गया। आपका समाधान काम करता है क्योंकि आप चर को सीधे कमांड के रूप में निर्यात कर रहे हैं। लेकिन यह काम नहीं करना चाहिए (मैं माफी चाहता हूं, मैं आज दोपहर तक कोशिश नहीं कर सकता) स्क्रिप्ट लॉन्च करना। आपको स्क्रिप्ट को स्रोत करना होगा, जो समाप्त होने पर ssh कनेक्शन को बंद कर देगा ...
मार्क

क्या स्क्रिप्ट स्रोत होस्ट या दूरस्थ होस्ट पर स्थित है? आप इसे कैसे चलाते हैं?
user1700494

स्क्रिप्ट लक्ष्य (दूरस्थ होस्ट) पर स्थित है। एक Qt5 C ++ एप्लिकेशन इसे चलाएगा।
मार्क

शायद मुझे समस्या मिल गई। कुछ कारणों से स्क्रिप्ट जो वास्तव में लक्ष्य पर थी, उसके अंत में एक "निकास 0" था (मैंने सुसंगतता के लिए प्रारंभिक उदाहरण को अपडेट किया है)। स्क्रिप्ट को लॉन्च करना ठीक था, लेकिन इसे सोर्स करने से शेल या एसएसएच कनेक्शन बंद हो गया - यहाँ मेरा सवाल है!
मार्क
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.