Bash उपनाम के साथ scp का उपयोग करने में असमर्थ


15

यह कोड काम नहीं करता है:

scp ~/Desktop/favicon.ico nameOfBashAlias:/public_html/mySite/templates/blog/

उपनाम है:

alias nameOfBashAlias='ssh myUsername@11.11.11.111'

मैं इस समस्या का समाधान कैसे कर सकता हूं।

संपादित करें

क्या निम्नलिखित कोड के समान कुछ संभव है, जैसे कई उदाहरण चल रहे हैं bash?

scp ~/Desktop/favicon.ico (nameOfBashAlias)>:/public_html/mySite/templates/blog/

मुझे काम करने के लिए उपरोक्त कोड नहीं मिला।

जवाबों:


22

आप जो पूरा करने की कोशिश कर रहे हैं, उसके लिए मैं बैश उपनाम का उपयोग करने की सलाह नहीं दूंगा। आप बस SSH की कॉन्फ़िगरेशन फ़ाइल में सभी जानकारी दर्ज कर सकते हैं और इसके साथ किया जा सकता है। ssh_configअगर आप जिज्ञासु हैं कि ये कहां से आए हैं तो इसके लिए मैन पेज पढ़ें । आप कुछ साफ-सुथरे काम कर सकते हैंssh_config

फ़ाइल यहाँ स्थित है ~/.ssh/config

अपने पसंदीदा संपादक का उपयोग करें और फ़ाइल बनाएं और फिर इन्हें अपनी स्थिति में समायोजित करें।

Host nameOfBashAlias
HostName 11.11.11.11
User myUsername
Port 22

अब आप निम्न आदेश जारी करने के लिए सेटअप कर रहे हैं:

$ ssh nameOfBashAlias 

मुझे यकीन है कि आपको पता नहीं है कि यह सब कैसे एकीकृत है। अब जब आपके पास यह सेटअप है, तो निम्न कमांड भी काम करते हैं

$ scp /some/file nameOfBashAlias:/path/to/storage/location/ 

कोई और याद नहीं है कि एसपीपी पोर्ट के लिए "-पी" का उपयोग करता है और एसश "-पी" का उपयोग करता है। इसके अलावा यह "उर्फ" भी ओएस एक्स गुई ऐप में काम करता है जैसे कि ट्रांसमिट।

OpenSSH निम्नलिखित क्रम में निम्नलिखित स्रोतों से कॉन्फ़िगरेशन डेटा प्राप्त करता है:

  1. कमांड लाइन विकल्प
  2. उपयोगकर्ता की कॉन्फ़िगरेशन फ़ाइल ~/.ssh/config
  3. सिस्टम-वाइड कॉन्फ़िगरेशन फ़ाइल /etc/ssh_config

हां, मैं आपके साथ पूरी तरह से सहमत हूं। मैं आजकल उस पद्धति का भी उपयोग कर रहा हूं, क्योंकि यह अन्य प्रणाली और अन्य साधनों के साथ बहुत बेहतर है।
लेओ लेपोल्ड हर्ट्ज '

मेरे लिए MacOSX पर काम नहीं करता है
Jabran Saeed

@JabranSaeed कृपया, अपने ओएस के बारे में जानकारी के एक टुकड़े के साथ अपने मामले के जवाब के रूप में एक नया सवाल या यहां एक समुदाय विकि के रूप में खोलें, कृपया, यहां टिप्पणी में अपनी चुनौती के बारे में लिंक भी प्रदान करें। यह धागा GNU scp के लिए प्रासंगिक है।
लेओ लेपोल्ड हर्ट्ज़ '

एफडब्ल्यूआईडब्ल्यू यह ओएस एक्स पर काम करने के लिए प्रकट होता है (कम से कम यह मेरा, एल कैपिटैन 10.11.6 पर किया गया)
एलेक्स डब्ल्यू

5

scpबैश नहीं चलता है। आपको इसे चलाने की आवश्यकता होगी:

 scp ~/Desktop/favicon.ico 11.11.11.111:/public_html/mySite/templates/blog/

यदि आपके पास सभी उपनाम हैं और उपरोक्त कोड आपके लिए संभव नहीं है, तो इसे इस तरह से चलाने पर विचार करें:

nameOfBashAlias cat /public_html/mySite/templates/blog/ > ~/Desktop/favicon.ico

इस तरह, आप वास्तव में sshडिस्क पर फ़ाइल के लिए फ़ाइल सामग्री को आमंत्रित और निर्देशित कर रहे हैं । इसे अपलोड के लिए दूसरा तरीका लिखा जा सकता है।


पहला कमांड scp ~ / Desktop / favicon.ico username@11.11.11.111 होना चाहिए: / public_html / mySite / टेम्पलेट्स / ब्लॉग /
Léo Léopold Hertz

2

उपनाम को तब प्रतिस्थापित किया जाता है जब वे बैश कमांड के पहले शब्द होते हैं । आपका उपनाम तीसरे शब्द की शुरुआत में दिखाई देता है।

मैं इसके लिए एक शेल चर का उपयोग करेगा।

blah='myUsername@11.11.11.111'
scp ~/Desktop/favicon.ico ${blah}:/public_html/mySite/templates/blog/

Btw, मुझे लगता है कि आपके मूल उपनाम में ssh नहीं होना चाहिए। और अंतिम कोड नमूने में एक> है जो गलत भी दिखता है।


@ ममताप: आपके उत्तर के लिए बहुत बहुत धन्यवाद!
लेओ लेपोल्ड हर्ट्ज '

0

नहीं, आपके उदाहरण काम नहीं करेंगे, क्योंकि ऐसा नहीं है कि BASHउपनाम कैसे काम करते हैं। मेरा सुझाव है कि आप एक चर का उपयोग करें। इसे अपने ~/.profileया ~/.bashrc[जो भी आप उपयोग करते हैं] में डालें :
site="user@site.com"
फिर अपने टर्मिनल में, यह काम करेगा:
scp favicon.ico $site:/dir/


या आप एक स्क्रिप्ट लिख सकते हैं जैसे मैं अपने iPod के लिए करता हूं। मेरे bashrc में मेरे पास है ipod=192.168.2.60, तो मेरी स्क्रिप्ट में तो मुझे स्क्रिप्ट में मेरे source ~/.bashrcचर मिलते हैं, फिर स्क्रिप्ट में: scp $1 $ipod
नकारात्मक पक्ष यह है कि मुझे पुनरावर्ती करने के लिए स्क्रिप्ट को संपादित करना होगा। और मैं केवल 1 फ़ाइल कर सकता हूं। लेकिन जब मुझे उन दोनों में से किसी एक की आवश्यकता होती है जिसे मैं आमतौर पर scpटर्मिनल से सीधे उपयोग करता हूं !
~ मैट

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