সাইগউইনে কমান্ডটি প্যারামিটারের ফর্ম্যাটটি সঠিক নয় find


14

আমি আমার উইন্ডোজ মেশিনে সাইগউইন ব্যবহার করছি। আমি একটি অনুসন্ধান করার চেষ্টা করছি এবং এটি পরামিতি বিন্যাসটি সঠিক নয়। কেন এমন?

$ ls
bootstrap.jar
catalina-tasks.xml
catalina.bat
catalina.sh
commons-daemon-native.tar.gz
commons-daemon.jar
cpappend.bat
digest.bat
digest.sh
setclasspath.bat
setclasspath.sh
shutdown.bat
shutdown.sh
startup.bat
startup.sh
tomcat-juli.jar
tomcat-native.tar.gz
tool-wrapper.bat
tool-wrapper.sh
version.bat
version.sh

$ find . -name "version.sh"
FIND: Parameter format not correct
  • সাইগউইন ইনস্টল করার সময় আমার কি কিছু ইনস্টল করা উচিত বা আমি কিছু ভুল করছি?
find  cygwin 

উত্তর:


19

আপনার PATHখারাপ। সাইগউইন ডিরেক্টরিগুলির আগে এটির উইন্ডোজ সিস্টেম ডিরেক্টরি রয়েছে বা সম্ভবত সাইগউইন ডিরেক্টরিগুলি নেই। এই বার্তাটি উইন্ডোজ কমান্ড থেকে এসেছে find(এটি FINDবড় আকারের মতো এটির নামটি ইঙ্গিত হিসাবে প্রকাশ করে )।

আপনি যখন সাইগউইন শেল শুরু করেন, আপনার সাধারণত সেট করা দরকার PATH। আমি আপনাকে একটি লগইন শেল শুরু করার পরামর্শ দিই (যদি আমি সঠিকভাবে স্মরণ করি তবে ডিফল্ট সাইগউইন সিস্টেম মেনু এন্ট্রিগুলি সেটাই করে)। তোমার Cygwin PATHথাকা উচিত /usr/local/bin, /usr/binএবং /bin(অন্তত) কোন অ Cygwin ডিরেক্টরি এগিয়ে।


1
হ্যাঁ, সম্ভবত এটি। এই ত্রুটিটি হ'ল কারণ আপনি যে সন্ধানটি ব্যবহার করেছেন সেটি হ'ল উইন্ডোজের ফাইন্ড কমান্ড, সাইগউইনের নয়।
ইয়ানিক গিরার্ড

অথবা এর /usr/bin/findপরিবর্তেfind

আমার /usr/binপথে ছিল, আমি অনুমান করি যে শেলটি findH PATH- র মধ্যে পাওয়া প্রথমটি ব্যবহার করে , এটি সিস্টেমটি। আমি এটি অপসারণ করতে চলেছি (কারণ আমার এটির কোনও প্রয়োজন নেই) তবে আমি অনুমান করি কিছু এলোমেলো সিস্টেম স্ক্রিপ্টগুলি কেবল এটির আশা করতে পারে find। তো, এই ফিক্সিং সঠিক ভাবে উপনাম লিখতে হয় alias find="/usr/bin/find"বা ~/.bashrc (অথবা যাই হোক না কেন আপনি ব্যবহার করছেন শেল)
হাই-অ্যাঞ্জেল

1

ইনস্টল করা আছে? "যা খুঁজে পায়" কী ফিরে আসে? মনে রাখবেন যে উইন্ডোজ একটি অন্তর্নির্মিত কমান্ড লাইনের সন্ধান করেছে যে সাইগউইন তার নিজস্ব অনুসন্ধান মিয়া হলে ব্যবহার করে শেষ করবে।


1

গিলস থেকে উত্তরটি সঠিক যে findকমান্ডের উইন্ডোজ সংস্করণটি সাইগউইন সংস্করণের আগে এসেছিল এবং তাই এটি বলা হচ্ছে।

তবে সাইগউইনকে এগিয়ে রাখার অর্থ উইন্ডোজ findকমান্ড ব্যবহারকারী যে কোনও ব্যাচ ফাইলগুলি এখন সাইগউইন findকমান্ডকে কল করবে , যা আপনি চান তা নাও হতে পারে।

আমার মতে, উভয়ের কাজ করার জন্য সিম্বিওটিক উপায়টি হ'ল নীচের কাজটি করা:

  1. সাইগউইন findকমান্ডটি সন্ধান করুন এবং এটির নতুন নাম / অনুলিপি করুন lfind.exe(বা অন্য কোনও নাম যা উইন্ডোজ PATH তে নেই)
  2. আপনার ~/.bashrcফাইলে লাইন যুক্ত করুনalias find=lfind

আপনি যখন findসাইগউইন টার্মিনাল থেকে চালাবেন তখন আপনি সাইগউইন সংস্করণ ব্যবহার করবেন তবে ব্যাচ ফাইলগুলি উইন্ডোজ সংস্করণ ব্যবহার করবে।

দ্রষ্টব্য: আপনার প্যাথ-এ এখনও আপনার সাইগউইন বিন ডিরেক্টরি লাগবে, তবে এটি এখন উইন্ডোজ সিস্টেম ডিরেক্টরি থেকে ফিরে আসতে পারে।


0

আপনি যখন সাইগউইন ইনস্টল করছেন, আপনি যদি না জিজ্ঞাসা করেন এটি সম্ভাব্য সমস্ত প্যাকেজ ইনস্টল করে না। পছন্দসই প্যাকেজ যুক্ত করতে, সুপার ব্যবহারকারীর এখানে ব্যাখ্যাটি একবার দেখুন ।

বা কেবল নিম্নলিখিত ক্রিয়া সম্পাদন করুন:

  1. সেটআপ শুরু করুন, একটি আয়না নির্বাচন করুন এবং প্যাকেজগুলির স্ক্রিনে যান
  2. শীর্ষে রেডিও বোতামের তালিকা থেকে "রাখুন" নির্বাচন করুন
  3. প্রাসঙ্গিক গ্রুপের আওতায় কাঙ্ক্ষিত প্যাকেজটি নির্বাচন করুন
  4. "চালিয়ে যান" নির্বাচন করুন

0

নেটিভ উইন 32 পোর্ট হিসাবে এখানে জিএনইউ-ব্যবহারগুলি রয়েছে । তাদের চালানোর জন্য সাইগউইনের দরকার নেই, এবং গ্রেপ, সেড, অ্যাজক, ফাইন্ড, কম, বিড়াল, ট্যাক এবং আরও অনেক কিছু সহ একটি শেল (sh.exe) নিয়ে আসে।

উইন্ডোজ পাথের সমস্যাটি অব্যাহত থাকবে, তবে সম্ভবত আপনি এটিকে আরও সহজে অ্যাক্সেসযোগ্য করে তুলতে gfind(gnu-find) বা এর নামটির পুনর্নবীকরণ searchকরতে পারেন এবং আপনার PATH এ কোর্টিলস দির যুক্ত করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.