दिलचस्प पोस्ट
सीएसएस में एचटीएमएल colspan JFrame पृष्ठभूमि छवि माँगोडब स्थानीय सर्वर प्रारंभ करने में असमर्थ सी # "पैरामीटर मान्य नहीं है।" नया बिटमैप बना रहा है जावा ध्वनि एपीआई का उपयोग कर एमपी 3 बजाना जावा – 'यह' कीवर्ड का उपयोग करने के लिए सूची में 2 की शक्तियां पाएं Prolog C ++ पॉइंटर के लिए डिफ़ॉल्ट कन्स्ट्रक्टर क्या है? HH: mm: ss.SSS को मिलीसेकंड में कैसे परिवर्तित करें? नियमित अभिव्यक्ति का उपयोग करते हुए एक बड़ी स्ट्रिंग के उपस्ट्रिंग को खोजने के लिए जावा का उपयोग करना "जबकि (* s ++ = * t ++)" स्ट्रिंग की प्रतिलिपि बनाते हैं? एकाधिक तालिकाओं में रिकॉर्ड जोड़ने के लिए फ़ॉर्म बनाएं डोम उत्परिवर्तन की घटनाओं का प्रतिस्थापन (नया ऐरे (10))। नक्शा (कार्य () {वापसी 1;}) देता है … क्यों? एक प्रोटोकॉल में केवल-प्राप्त संपत्ति की आवश्यकता क्यों नहीं है, जो एक संपत्ति से संतुष्ट होती है?

'\ r': कमांड नहीं मिला – .bashrc / .bash_profile

मेरे पास खिड़कियां हैं, सिगविन का उपयोग करते हुए, मेरे .bashrc फ़ाइल के माध्यम से JAVA_HOME स्थायी रूप से सेट करने का प्रयास करते हुए।

.bashrc:

 export PATH="$JAVA_HOME/bin:$PATH" export JAVA_HOME=$JAVA_HOME:"/cygdrive/c/Program Files (x86)/Java/jdk1.7.0_05" 

.bash_profile:

 if [ -f ~/.bashrc ]; then source ~/.bashrc fi 

चल रहे साइगविन:

 -bash: $'\377\376if': command not found -bash: $'then\r': command not found : No such file or directorysu//.bashrc -bash: /cygdrive/c/Users/jhsu//.bash_profile: line 3: syntax error near unexpected token `fi' -bash: /cygdrive/c/Users/jhsu//.bash_profile: line 3: `fi' 

मुझे यकीन नहीं है कि अगर मैं एक ट्यूटोरियल से कमांड लेता हूं जो कि किसी अन्य सिस्टम के लिए थी या यदि मुझे एक कदम याद आ रहा है या व्हाट्सएस मेरे आदेशों को ठीक से चलाने के लिए नहीं पैदा कर रहा है

मैंने कई समान प्रश्नों को देखा है, लेकिन मुझे ऐसा नहीं मिला है जहां प्रश्न में मेरी त्रुटि बिल्कुल ठीक है


मेरा घर पथ:

 $ echo $HOME /cygdrive/c/Users/jhsu $ echo ~ /cygdrive/c/Users/jhsu/ 

इसलिए मुझे विश्वास है कि फाइल को सही स्थान पर रखा जाना चाहिए।

वेब के समाधान से एकत्रित समाधान "'\ r': कमांड नहीं मिला – .bashrc / .bash_profile"

जब सब कुछ सिगविन में विफल हो जाता है …

प्रश्न में फाइल पर dos2unix कमांड चलाने की कोशिश करें।

जब आप इस तरह के त्रुटि संदेश देखते हैं तो यह मदद कर सकता है:

-bash: '\r': command not found

विंडोज स्टाइल न्यूलाइन अक्षर साइगविन में समस्या पैदा कर सकते हैं।

dos2unix कमांड नए अक्षरों को संशोधित करता है ताकि वे यूनिक्स / dos2unix संगत हो।

सावधानी: dos2unix कमांड जगह में फाइलों को संशोधित करता है , इसलिए यदि जरूरी हो तो सावधानी बरतें।

यदि आपको मूल फ़ाइल रखने की आवश्यकता है, तो आपको पहले इसे वापस करना चाहिए।

मैक उपयोगकर्ताओं के लिए नोट: dos2unix ओएस एक्स पर dos2unix कमांड मौजूद नहीं है।

विभिन्न उपकरणों का उपयोग करके विभिन्न समाधानों के लिए यह उत्तर देखें।


एक unix2dos कमांड भी है जो रिवर्स करता है:

यह यूनिक्स नए अक्षरों को संशोधित करता है ताकि वे विंडोज टूल के साथ संगत हो।

अगर आप नोटपैड के साथ एक फ़ाइल खोलते हैं और सभी लाइनें एक साथ चलती हैं, तो unix2dos filename कोशिश करें।

जिनके पास dos2unix स्थापित नहीं है (और इसे इंस्टॉल करना नहीं चाहते हैं):

Trailing \r वर्ण को निकालें जो इस त्रुटि का कारण बनता है:

 sed -i 's/\r$//' filename 

स्पष्टीकरण :

विकल्प -i इन-प्लेस एडिटिंग के लिए है, हम इनपुट फ़ाइल में अनुक्रमित \r सीधे हटा देते हैं। इस प्रकार पैटर्न को सही ढंग से टाइप करने के लिए सावधान रहें

मैं set -o igncr 7 का उपयोग कर रहा हूं, चाल को set -o igncr को अपने .bashrc में डाल नहीं किया गया था, लेकिन पूरे SHELLOPTS को विंडोज़ के अंतर्गत पर्यावरण चर में डाल दिया। (तो यूनिक्स / साइगविन के साथ कुछ भी नहीं …) मुझे लगता है कि यह .bashrc से काम नहीं करता है क्योंकि हम जर्मन में कहेंगे कि "बूंदों को पहले से चूसा है" 😉 तो मेरे SHELLOPTS इस तरह दिखते हैं

 braceexpand:emacs:hashall:histexpand:history:igncr:interactive-comments:monitor 

यदि आप हाल ही में सिगविन (जैसे 1.7) का उपयोग कर रहे हैं, तो आप पहले गैर टिप्पणी की गई रेखा पर निम्न पंक्ति के साथ अपने .bashrc और .bash_profile दोनों भी शुरू कर सकते हैं:

 # ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples (set -o igncr) 2>/dev/null && set -o igncr; # this comment is needed 

यह बाश को विंडोज लाइन सेपरेटर में कैरिज रिटर्न ( \r ) वर्णों को अनदेखा करने के लिए बाध्य करेगा।

http://cygwin.com/ml/cygwin-announce/2010-08/msg00015.html देखें।

विंडोज़ के नोटपैड + + के साथ (v6.8.3 के साथ चेक किया गया) आप विकल्प – संपादित करें -> ईओएल रूपांतरण -> यूनिक्स / ओएसएक्स स्वरूप का उपयोग करके विशिष्ट फ़ाइल को सही कर सकते हैं

और अपनी फाइल को फिर से सहेजें

संपादित करें: अभी भी v7.5.1 (अगस्त 29 2017) में काम करता है

आप बैश कॉल में विकल्प -o igncr भी जोड़ सकते हैं, उदा

 bash -x -o igncr script.sh 

सबमिली टेक्स्ट

शुभकामना के साथ आप बस जाते हैं

देखें -> रेखा अंत -> (चुनें) यूनिक्स

तब फ़ाइल को सहेजें। इस मुद्दे को ठीक कर लेंगे

उस के रूप में आसान!

जो लोग नोटपैड ++ (6.8.1) का प्रयोग करते हैं, वे शेल स्क्रिप्ट को विंडोज़ से लिनक्स में जहाज करने के लिए।

नोटपैड ++ संपादित करें -> ईओएल रूपांतरण -> यूनिक्स / ओएसएक्स प्रारूप में निम्न सेट करें

इस सार के अनुसार, समाधान एक ~/.bash_profile ( HOME निर्देशिका में) बनाने के लिए है:

 export SHELLOPTS set -o igncr 

त्रुटि:

'\r' : कमांड नहीं मिला

शेल की वजह से विंडोज़ की तरह 0d 0a लाइन एंडिंग्स ( 0d 0a ) को पहचानने में सक्षम नहीं है क्योंकि यह केवल LF ( 0d 0a ) की अपेक्षा करता है।


Git

यदि आप Windows पर Git का प्रयोग करते हैं, तो सुनिश्चित करें कि आपने सेटअप के दौरान ' चेकआउट के रूप में ' चुना है । फिर सुनिश्चित करें कि आप चलाते हैं: git config --global core.autocrlf false , इसलिए गिट पाठ फ़ाइलों को चेक या चेक करने के दौरान कोई भी रूपांतरण नहीं करेगा।


dos2unix

यदि आप गिट का उपयोग नहीं कर रहे हैं, तो आपको इन प्रभावित फ़ाइलों / स्क्रिप्ट को वापस यूनिक्स की तरह लाइन अंत (एलएफ) में बदलने की जरूरत है, या तो:

 dos2unix ~/.bashrc 

नोट: dos2unix कमांड dos2unix पैकेज का हिस्सा है।

पूर्व / वीम संपादक + tr

यदि आपके पास विम इंस्टॉल किया गया है, तो निम्न कमांड फाइल को सही कर लेनी चाहिए:

 ex +'bufdo! %! tr -d \\r' -scxa ~/.bash* 

उपयोगी उपनाम: alias dos2unix="ex +'bufdo! %! tr -d \\\\r' -scxa"

tr

tr का उपयोग करके यह विधि है:

 cat ~/.bashrc | tr -d '\r' > ~/.bashrc.fixed && mv -v ~/.bashrc.fixed ~/.bashrc 

या:

 tr -d '\r' < filename > new_filename 

नोट: \r \015 बराबर है


sed

आप निम्न कमांड को आज़मा सकते हैं:

 sed -i'.bak' s/\r//g ~/.bash* 

recode

निम्नलिखित उपनाम उपयोगी हो सकते हैं (जो कि dos2unix कमांड को बदल देता है):

 alias unix2dos='recode lat1:ibmpc' alias dos2unix='recode ibmpc:lat1' 

स्रोत: विंडोज के अंतर्गत मुफ्त यूनिक्स उपकरण (एसएसएच, बाश, आदि)


perl

निम्नलिखित perl कमांड फाइल को डॉस से यूनिक्स प्रारूप में परिवर्तित कर सकती है:

 perl -p -i.bak -e 's/\015//g' ~/.bash* 

स्रोत: स्ट्रिपिंग ^ एम ।


tofrodos

लिनक्स पर, जैसे dos2unix जो कि या तो dos2unix या unix2dos dos2unix साथ मानक नहीं आते हैं, तो आप tofrodos पैकेज़ को स्थापित कर सकते हैं ( tofrodos sudo apt-get install tofrodos ), और निम्नलिखित उपनामों को परिभाषित कर सकते हैं:

 alias dos2unix='fromdos' alias unix2dos='todos' 

इसके बाद के संस्करण के अनुसार एक ही वाक्यविन्यास में उपयोग करें।


आवारा

अगर आप उग्र VM का उपयोग कर रहे हैं और यह प्रावधान स्क्रिप्ट के लिए होता है, तो binary विकल्प को true सेट करने का प्रयास करें:

 # Shell provisioner, see: https://www.vagrantup.com/docs/provisioning/shell.html config.vm.provision "shell" do |s| s.binary = true # Replace Windows line endings with Unix line endings. s.path = "script.sh" end 

देखें: उग्रट में यूनिक्स एलएफ अंक के लिए विंडोज सीआरएलएफ ।

मुझे भी यही समस्या थी। समाधान: मैं pspad संपादक के साथ फाइल को संपादित करता हूं, और उसे यूनिक्स प्रारूप (मेनू – प्रारूप -> यूनिक्स)

मेरा मानना ​​है कि आप इस प्रारूप को अपनी फ़ाइल में कई अन्य संपादकों के साथ सेट कर सकते हैं

Emacs उपयोगकर्ताओं के लिए वहां से:

  1. फ़ाइल खोलें
  2. एमएक्स सेट-बफर-फाइल-कोडिंग-सिस्टम
  3. "यूनिक्स" चुनें

यह यूनिक्स शैली के लिए फ़ाइल में नए अक्षर को अपडेट करेगा। Emacs में "न्यूलाइन प्रतिनिधित्व" पर अधिक जानकारी यहां पायी जा सकती है:

http://ergoemacs.org/emacs/emacs_line_ending_char.html

नोट: उपरोक्त चरणों को एक एमएक्स स्क्रिप्ट में बनाया जा सकता है, अगर कोई इसे कमांड लाइन से निष्पादित करने के लिए पसंद करता है।

नोटपैड ++ के साथ हल:

1) मेनू-> संपादित करें-> ईओएल रूपांतरण -> यूनिक्स / ओएसएक्स प्रारूप

2) तब सहेजें सहेजें

स्थिर

EditPlus में आप Document → File Format (CR/LF) → Change File Format... मेनू से और फिर Unix / Mac OS X रेडियो बटन चुनें।

विंडोज़ मशीन से बनाई गई / डाउनलोड की गई फ़ाइल / स्क्रिप्ट के कारण समस्या हो सकती है कृपया लिनक्स फ़ाइल प्रारूप में कनवर्ट करने का प्रयास करें।

 dos2unix ./script_name.sh 

या

 dos2unix ~/.bashrc