दूरस्थ पर्यावरण चर के साथ pscp का उपयोग करना


3

मैं pscp.exeविंडोज से लिनक्स में फाइल ट्रांसफर करने के लिए उपयोग कर रहा हूं । यह आदेश ठीक काम करता है:

pscp myfile.txt user@host:/airflow/dags

लिनक्स होस्ट पर वह स्थान जिसमें मैं फ़ाइलों को स्थानांतरित करना चाहता हूं, एक पर्यावरण चर में संग्रहीत है:

$ echo $AIRFLOW_HOME
/airflow

मैं कॉल करने के लिए उस वातावरण चर का उल्लेख करना चाहूंगा pscp। दुर्भाग्य से यह काम नहीं करता है:

pscp myfile.txt user@host:$AIRFLOW_HOME/dags

रिटर्न pscp: unable to open /dags: permission denied(जो निश्चित रूप से समझ में आता है, /dagsमौजूद नहीं है)।

स्पष्ट रूप से $AIRFLOW_DAGSकमांड का हिस्सा मेजबान पर हल नहीं हो रहा है। तो, क्या मेरी pscpआज्ञा में मेजबान पर पर्यावरण चर को संदर्भित करने का कोई तरीका है ?

जवाबों:


4

उपयोगिता pscpदूरस्थ शेल चर को हल नहीं कर सकती है। एक वर्कअराउंड के रूप में, पहले ssh (PuTTY कमांड का उपयोग करके plink) एक चर का मान प्राप्त करें और इसे एक Windows चर में संग्रहीत करें।

निम्न आदेशों को एक बैच फ़ाइल में रखें और इसे चलाएं।

@echo off 
for /f %%i in ('plink -ssh user@host echo $AIRFLOW_HOME') do set HOMEVAR=%%i
pscp myfile.txt user@host:%HOMEVAR%/dags

नोट: for /f...कमांड लाइन (एक बैच फ़ाइल के बाहर) से कमांड का उपयोग करने के लिए , दोनों के %%iसाथ बदलें %i


अच्छा धन्यवाद। मैं वास्तव में PowerShell का उपयोग कर रहा हूं, लेकिन मुझे यकीन है कि मैं इसे अनुकूलित कर सकता हूं। बहुत सराहना की।
जैमिएट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.