পিডাব্লুডিতে বাশ পালানোর স্পেস থাকা কি সম্ভব?


21

আমি বর্তমান ডিরেক্টরি হবে, কিছু ক্লিপবোর্ডে কপি করতে চাই: pwd | pbcopy। তবে pwdস্থান থেকে রেহাই পাওয়া যায় না, সুতরাং "অ্যাপ্লিকেশন সহায়তা" -র কিছু, উদাহরণস্বরূপ, সঠিকভাবে অনুলিপি করে না। আমি মনে করি এটি সর্বদা ঘটনাটি মনে আছে, তাই আমি কিছু বক করতে পারি। আইটার্ম 2 ব্যবহার করে।

সব কিছু পালানোর জন্য কি বাশ সেটিং আছে? স্পেস.অ্যাপ বা অনেক বিষয়ে অনেক প্রশ্ন / বিষয় অনুসন্ধান করতে সমস্যা হচ্ছে esc

বর্তমান:

$ pwd
/Library/Application Support/Google Earth/

পছন্দের:

$ pwd
/Library/Application\ Support/Google\ Earth/

ইতিমধ্যে পোস্ট দেখা গেছে: বর্তমান ডিরেক্টরী ক্লিপবোর্ডে পথ অনুলিপি এবং একটি নাম ব্যাশ মধ্যে শূণ্যস্থান সম্বলিত একটি ডিরেক্টরি কিভাবে সিডি কিভাবে? , যা এটিকে সম্বোধন করে না। আমি প্রাক্তন একটি মন্তব্য করতে হবে, কিন্তু আমার অধিকার নেই।


1
আমি সন্দেহ করি এটি অনুলিপিটি সঠিক - আপনি যা চান সেটি হ'ল স্পেসগুলি মোকাবেলা করার জন্য - আপনি কোন অ্যাপ্লিকেশনটি পেষ্ট করছেন?
ব্যবহারকারীর 151019

দুর্দান্ত প্রশ্ন। আপনার কাছে শীঘ্রই মন্তব্য করার মতো যথেষ্ট পরিমাণে জবাব পাবেন। সাইটে স্বাগতম!
বমিকে

1
pwd | pbcopyটার্মিনালে আমার জন্য ভাল কাজ করে। ফাইন্ডার / সম্পাদনা / প্রদর্শন ক্লিপবোর্ড এটি ঠিক আছে তা নিশ্চিত করে।
lhf

@ এলএইচএফ হ্যাঁ, টার্মিনালে চেক করা উচিত ছিল, যা আপনার বক্তব্য অনুসারে কাজ করে। যদিও আইটির্ম 2 তে ভাগ্য নেই। হয়তো আমার ফিরে যাওয়া উচিত ...
গ্রিনোয়ার

আপনি যে টার্মিনাল এমুলেটরটি চালাচ্ছেন তার উপর এটি কীভাবে নির্ভর করতে পারে? আমি সবেমাত্র পরীক্ষা করেছি pwd | pbcopyএবং আইটিার্ম 2-তে ভাল কাজ করেছি ।
lhf

উত্তর:


13

এই কমান্ডটি স্পেসগুলি যথাযথভাবে ছাড়বে:

printf "%q\n" "$(pwd)" | pbcopy

আপনি ইতিহাসের সাথে এমন কিছু ব্যবহার করে এটির নাম রাখতে cwdপারেন যেমন আপনার যদি আলাদা সিডাব্লুডি পুনরায় সংজ্ঞায়িত করতে আপত্তি না থাকে

alias cwd='printf "%q\n" "$(pwd)" | pbcopy'

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



1
আমার ম্যাক এ কাজ করে।
জেসন সোয়েট

5
pwd | sed 's/ /\\ /g'

তবে আমি নিশ্চিত নই যে এটি শেষ পর্যন্ত আপনার সমস্যার সমাধান করবে fix pbcopy স্টিডিনে যা পেয়েছে ঠিক তা অনুলিপি করছে।


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

তবে এটি বেশিরভাগ ক্ষেত্রেই কাজ করে যে
গ্লেন থেকে সঠিকটি

আপনি কোনও ক্রিয়াকলাপটি ঘোষণার সময় এটির নাম হিসাবেও এটি ব্যবহার করতে পারেন: ফাংশন એસ્કેપপিডাব্লুডি () {পিডাব্লুডি | সেড 's / / \\ / জি'; } এবং এটির নামটির জন্য ব্যবহার করুন: ওরফে এপডাব্লুড = 'এসএসপিডাব্লুডি'
ম্যাকিলিয়াস

1

pwdআউটপুট থেকে দূরে থাকা ফাইল পাথগুলি তৈরি করার কোনও অন্তর্নির্মিত উপায় নেই , কারণ এটি সাধারণত কার্যকর নয়।

যা অনুলিপি করা হয়েছে তাতে ব্যাকস্ল্যাশ যুক্ত করার pwdবা pbcopyতা যুক্ত করার কোনও অর্থ নেই । আপনি যদি কোনও পাঠ্য ফাইল বা ওয়েব পোস্টে পাথটি অনুলিপি করতে চান তবে আপনি এটিতে একটি ব্যাকস্ল্যাশ sertedোকানো চাইবেন না।

সম্ভবত আপনি যা করতে চান তা হল qwdবর্তমান ডিরেক্টরিটির উদ্ধৃত ফর্মটি মুদ্রণের জন্য পৃথক উপন্যাস হিসাবে তৈরি করা , বা কেবল আউটপুটটি এড়িয়ে যাওয়া pbpaste, যা এটি ডাবল-কোটে রাখার মতো সহজ:

bash-3.2$ pwd
/Users/user
bash-3.2$ cd test\ dir/untitled\ \"folder/
bash-3.2$ pwd
/Users/user/test dir/untitled "folder
bash-3.2$ pwd | pbcopy
bash-3.2$ echo "`pbpaste`"
/Users/user/test dir/untitled "folder
bash-3.2$ cd
bash-3.2$ pwd
/Users/user
bash-3.2$ cd `pbpaste`
bash: cd: /Users/user/test: No such file or directory
bash-3.2$ cd "`pbpaste`"
bash-3.2$ pwd
/Users/user/test dir/untitled "folder

মনে রাখবেন যে এটি কেবল ফাঁকা স্থান নয় not ফরোয়ার্ড এবং পিছনে স্ল্যাশ, তারা, প্রশ্ন চিহ্ন, অ্যাম্পারস্যান্ড, আধা-কোলন এবং অন্যান্য অক্ষরগুলিরও পালানোর প্রয়োজন। নিরাপদ উদাহরণ হিসাবে কেবল ডাবল-কোট ব্যবহার করা, যা পাথটিতে ডাবল-কোট অন্তর্ভুক্ত করা সত্ত্বেও কাজ করবে।

আপনি যদি এ সম্পর্কে বিকৃত হতে চান তবে আপনি অ্যাপলস্ক্রিপ্টকে বর্তমান ডিরেক্টরিটি উদ্ধৃত করতে পারেন:

bash-3.2$ alias qwd="osascript -e 'return quoted form of POSIX path of (POSIX file \"./\" as alias)'"
bash-3.2$ qwd
'/Users/user/test dir/untitled "folder'

অন্যথায় আমি বেশিরভাগই গ্লেনের সাথে একমত, উপরের মত বাদে আমি উদ্ধৃত ফর্মটি উপন্যাস করব qwdযাতে স্বাভাবিকের সাথে হস্তক্ষেপ না হয় pwd:

alias qwd='printf "%q\n" "$(pwd)"'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.