Ssh पर पुनर्निर्देशित स्टडआउट


17

मैं दौड़ना चाहूंगा

something > file

ssh के माध्यम से एक दूरस्थ प्रणाली पर, लेकिन अगर मैं चला

ssh host something > file

पुनर्निर्देशन को स्थानीय रूप से निष्पादित किया जाता है ssh etc > file

मैंने इसके साथ 'या ''या इसके बजाय ddएक पाइप के साथ कोशिश की है |, लेकिन मुझे यह काम करने के लिए नहीं मिल सकता है। यह कैसे किया जा सकता है?


बाहर निकलने की स्थिति: unix.stackexchange.com/questions/66581/…
Ciro Santilli 中心।।। 六四

जवाबों:


11

प्रयत्न:

ssh host 'something > file'

यहां पुनर्निर्देशन, पाइप और उद्धरण को संभालने के लिए एक तरीके का एक विरोध प्रदर्शन किया गया है:

ssh host date -d yesterday \| awk "'{print $1}'" \> 'file" "with\ spaces.out'

पाइप और पुनर्निर्देशन, उद्धरणों के एक स्तर से बचने की आवश्यकता को कम करते हुए, उद्धरणों के एक समग्र बाहरी सेट में निहित होने के बजाय बच जाते हैं। AWK कमांड के लिए सिंगल कोट्स डबल कोट्स द्वारा संरक्षित हैं जो उन्हें घेरे हुए हैं। फ़ाइल नाम को उसी तरह संरक्षित किया जा सकता है, लेकिन यहां मैं दिखाता हूं कि एकल उद्धरण दोहरे उद्धरण और भागने से कैसे बचाते हैं।


thanx - यह काम करता है!
फ्रैंकज़िसस

2
चूँकि ssh अपनी कमांड लाइन के उस हिस्से को वैसे भी खोल के पास करता है, आपको उस sh -cहिस्से की ज़रूरत नहीं है ।
जेंडर

क्या होगा यदि आपके पास पहले से ही दोहरे उद्धरण चिह्नों और एकल उद्धरण हैं? अगर यह बहुत दूर का विषय नहीं है, तो मुझे यकीन है कि अन्य लोग जानना चाहेंगे कि कैसे ...
भूलभुलैया

1
@ लाबीरिंथ: मैंने आपको कुछ विचार देने के लिए एक उदाहरण जोड़ा। ध्यान दें कि स्थानीय शेल उद्धरणों के सबसे बाहरी सेट (एस) का उपभोग करता है और रिमोट शेल अगले स्तर पर खपत करता है। दूसरे शब्दों में, उदाहरण के लिए, AWK अपने तर्कों में दिखाए गए अनुसार कोई उद्धरण नहीं देखता है, लेकिन इसे $1शेल द्वारा शेल वेरिएबल के रूप में देखे जाने से बचाया जाता है। लेकिन यह नहीं होगा यदि उद्धरणों का क्रम विपरीत था।
अगली सूचना तक रोक दिया गया।

10

इसके बजाय और भी सरल:

ssh host something > file

कर:

ssh host "something > file"

यह स्वीकृत उत्तर होना चाहिए क्योंकि यह पहले वाले की तुलना में आया था।
दर्शन

हाँ, 2010 में स्वीकृत उत्तर इतना अच्छा नहीं था। 2014 में बदल दिया गया था शायद इस जवाब का मिलान करने के लिए। unix.stackexchange.com/revisions/1631/1
अमला

3

सुझाए गए समाधान पाइप के साथ भी काम करता है

ssh host 'some_command | some_other_command'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.