ব্যাশে ফাঁকা স্থান যুক্ত নামের একটি ডিরেক্টরিতে সিডি করবেন কীভাবে?


84

আমি চেষ্টা করেছিলাম cd "~/Library/Application Support/" -bash: cd: ~/Library/Application Support/: No such file or directory

এছাড়াও cd ~/Library/Application Support/ -bash: cd: ~/Library/Application Support/: No such file or directory

উত্তর:


113

Tabপ্রথম কয়েকটি অক্ষর টিপে আপনি কীটি ব্যবহার করতে পারেন (এটি তারপরে আপনার জন্য বাকী ফোল্ডারটি "পূরণ করবে" উদাহরণস্বরূপ টাইপ করুন এবং এটি আপনার জন্য cd ~/LTabবাকীটি পূরণ করবে।cd ~/Library/ApTab

শব্দের মধ্যে যদি কোনও স্থান থাকে এবং আপনি উপরের পদ্ধতিগুলি ব্যবহার করতে না চান \তবে স্পেসের আগে একটি (ব্যাকস্ল্যাশ) রাখুন, যেমন cd ~/Library/Application\ Support


পথের মামলাটি সংবেদনশীল নাকি সংবেদনশীল? আমি সিডি / লাইব্রেরি দ্বারা লাইব্রেরি অ্যাক্সেস করতে পারি, তবে আমার ক্ষেত্রে ভুল হলে ট্যাব পদ্ধতিটি কাজ করবে না।
কলিনফ্যাং

@ কলিনফ্যাং ওএস এক্স হ'ল সংবেদনশীল তবে কেস-সংরক্ষণ করা। স্বয়ংসম্পূর্ণ হওয়ার ক্ষেত্রে ব্যাশ শেলটি অবশ্যই আরও কিছুটা বৈষম্যমূলক হতে হবে।
এনআরিলিংহ 24:38

@ এনআরিলিংহ - আহা, থেক্স
কলিনফ্যাং

1
@colinfang: আপনি ব্যবহার করতে পারেন shopt -s nocaseglobএবং bind 'set completion-ignore-case on'করতে ব্যাশ কম কেস সংবেদনশীল।
ক্রিস জনসন

2
কলিনফ্যাং - বাশ সামঞ্জস্যের সাথে সংবেদনশীল ট্যাব সমাপ্তির জন্য 'zsh' চেষ্টা করুন। এছাড়াও এই শেলটির ওয়াইল্ডকার্ড সমাপ্তি খুব ভাল।
Ƭর্ক

27

এখানে মূল বিষয়টি হ'ল শেল ( বাশ ) কীভাবে উদ্ধৃতি দেয় এবং কীভাবে টিল্ড সম্প্রসারণকে প্রভাবিত করে এবং "শব্দ" এ বিভক্ত হয় (প্রোগ্রামটি চালিত হওয়ার পক্ষে যুক্তি)।

বশ কেবল শীর্ষস্থানীয় টিলডকে বিশেষভাবে বিবেচনা করে যদি এটি উদ্ধৃত না হয়। এছাড়াও, নিম্নলিখিত স্ল্যাশগুলিও উদ্ধৃত করা উচিত নয়।

একই সময়ে, বাশ অ-উদ্ধৃত শ্বেত স্পেসের উপর ভিত্তি করে কমান্ড লাইনগুলিকে "শব্দগুলিতে" পার্স করে। cdকমান্ড সাধারণত ঠিক একটি আর্গুমেন্ট (গন্তব্য সংকলন) প্রয়োজন। একটি কমান্ড লাইনের মতো দুটি যুক্তি দিয়ে cd foo barচালানো cd: fooএবং bar। যদি আপনি কেবল একটি একক foo barযুক্তি প্রেরণ করতে চান , তবে আপনাকে স্থানটি উদ্ধৃত করতে হবে:
(উদাঃ) cd foo\ bar(নীচে আরও উদ্ধৃতি উদাহরণ দেখুন)।

আপনার বিশেষ পরিস্থিতিতে, ডিরেক্টরি নামের জায়গার উদ্ধৃতি দেওয়ার সময় আপনার টিলড এবং নিম্নলিখিত স্ল্যাশটি উদ্ধৃত করতে হবে। আপনার cd "~/Library/Application Support/"ট্রায়ালটি খুব বেশি পরিমাণে (টিলড এবং এর স্ল্যাশ) উদ্ধৃত করে শেষ হয়, যখন আপনার cd ~/Library/Application Support/ট্রায়ালটি খুব অল্প উদ্ধৃত হয় (এটি ডিরেক্টরিতে নামের জায়গার উদ্ধৃতি বাদ দেয়)।

সর্বাধিক সাধারণ সমাধানটি কেবল স্থানটি উদ্ধৃত করার জন্য একক-চরিত্রের পলায়ন ব্যবহার করা:

    cd ~/Library/Application\ Support

আপনি কেবল স্থান বা স্থান এবং সেই যুক্তির কিছু বিট (তবে নয় ~/!) এর আশেপাশে একক বা ডাবল উদ্ধৃতি ব্যবহার করতে পারেন :

    cd ~/Library/Application' 'Support
    cd ~/Library/Application" "Support
    cd ~/Library/App'lication 'Support
    cd ~/Library/Application" Supp"ort
    cd ~/'Library/Application 'Support
    cd ~/"Library/Application "Support

এই ধরণের উদ্ধৃতিগুলির বিভিন্ন অর্থ রয়েছে তবে এই উদাহরণগুলিতে তারা অভিন্ন। একক উদ্ধৃতি আক্ষরিক স্ট্রিংগুলি সুরক্ষিত করে যখন ডাবল উদ্ধৃতি উদ্ধৃত অঞ্চলে বিভিন্ন বিস্তৃতকরণ এবং প্রতিস্থাপনের অনুমতি দেয়।

প্রায়শই, আপনি কেবল শেলটি আপনার জন্য কাজ করতে দিতে পারেন।

  • গ্লোববিং (ওয়াইল্ডকার্ড):

    cd ~/L*/Ap*

    আপনি shopt -s nocaseglobগ্লোব্বিং কেস সংবেদনশীল করতে ব্যবহার করতে পারেন :

    cd ~/l*/ap*
  • সম্পূর্ণকরণ:

    টিপলে Tabপ্রবেশের পর cd ~/Lসম্ভবত এটি প্রসারিত হবে cd ~/Library/
    টিপলে Tabপ্রবেশের পর আবার Ap(আপনি এখন cd ~/Library/Ap) সম্ভবত তা প্রসারিত হবে cd ~/Library/Application\ Support/(শেল স্বয়ংক্রিয়ভাবে পলায়নের ব্যাকস্ল্যাশ সন্নিবেশিত)।

    আপনি bind 'set completion-ignore-case on'সমাপ্তির ক্ষেত্রে সংবেদনশীল তৈরি করতে ব্যবহার করতে পারেন :

    cd ~/l Tabcd ~/Library/; ap Tabcd ~/Library/Application\ Support/


সুন্দর উত্তর @ ক্রিস। কীগুলির মতো দেখতে আপনি ট্যাব অক্ষরগুলি কীভাবে পেয়েছেন?
রবজলোকস

4
@ রবজেড: এটি <kbd></kbd>এইচটিএমএল ট্যাগ ( এসই মার্কডাউনতে সমর্থিত বেশ কয়েকটি এইচটিএমএল ট্যাগগুলির মধ্যে একটি )।
ক্রিস জনসেন

9

আপনি যখন কোনও পাথ দ্বিগুণ করেছেন, আপনি টিলডের সম্প্রসারণ বন্ধ করছেন। সুতরাং এটি করার কয়েকটি উপায় রয়েছে:

cd ~/"My Code"
cd ~/'My Code'

টিলড এখানে উদ্ধৃত করা হয়নি, তাই টিলডির সম্প্রসারণ এখনও চালানো হবে।

cd "$HOME/My Code"

আপনি ডাবল-কোটেড স্ট্রিংয়ের মধ্যে পরিবেশের পরিবর্তনগুলি প্রসারিত করতে পারেন; এটি মূলত টিলডে সম্প্রসারণ করছে

cd ~/My\ Code

আপনি ব্যাকস্ল্যাশ সহ বিশেষ অক্ষর (যেমন স্থান) থেকেও পালাতে পারেন।


9

আপনি বিকল্পভাবে টার্মিনাল উইন্ডোতেও কেবল একটি ফোল্ডার টেনে আনতে পারেন, সম্পূর্ণ ফাইল / ফোল্ডার পথটি টেনে আনলে স্বয়ংক্রিয়ভাবে আটকানো হবে।


4

আপনার " Application Support" স্থানটি পালাতে হবে

চেষ্টা $ cd ~/Library/Application\ Support/


0

যদি সাধারণ উপায়গুলি কাজ না করে তবে স্থানগুলি স্থান দিয়ে চেষ্টা করে %20

এসএসএইচ এবং অন্যান্য ডোমেন-স্টাইলের মতো কমান্ডগুলির সাথে ডিল করার সময় এটি আমার পক্ষে কাজ করেছিল auto_smb


0

আপনি এটি দ্বারা ফাঁক ফোল্ডার / ফাইলগুলির জন্য চেষ্টা করে দেখতে পারেন যদি ফাইল বা ফোল্ডারের নামটিতে 1) ফাইলের নাম থাকে ex


1
এই উত্তরটি অন্যরকম, অনুরূপ, উত্তরগুলির মধ্যে কীভাবে আলাদা বা উন্নত হয়?
fsb

স্থান নির্ধারণ করার জন্য এবং কোট দেওয়ার জন্য এটির সঠিক টার্মিনাল বাক্য গঠনটি ব্যবহারকারীর মধ্যে একটির সংজ্ঞাযুক্ত এবং ট্যাব কী ব্যবহার করেও নাম 1 নেয় না) filename.ext 2) ফাইলের নাম.সেক্সট এই জাতীয় নামের জন্য ট্যাব টিপানোর সময় অটো শব্দগুলির সমাপ্তিটি তখন "ফাইল" পর্যন্ত প্রদর্শিত হয় আমরা টার্মিনালের স্থান নির্ধারণ করতে এই ব্যাকস্ল্যাশ ব্যবহার করতে পারি। @fsp
prasanth sivanesan

গৃহীত উত্তর সহ 9 টি অন্যান্য উত্তরগুলির থেকে এটি কীভাবে আলাদা তা পাঠকদের দেখানোর জন্য সেই সমস্ত তথ্যের উত্তর থাকা উচিত।
fsb
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.