বেশ কয়েকটি ব্যাশ স্ক্রিপ্টগুলিতে পুশ / পপড স্ট্যাক প্রদর্শন করবেন না (শান্ত ধাক্কা / পপড)


100

প্রতিবার যখন আমি পুশড বা পপড ব্যবহার করি তখন এটি স্ট্যাকটিকে স্ট্যান্ডার্ড আউটপুটে মুদ্রণ করে। কীভাবে করবেন না?

আমি pushd > /dev/nullপ্রতিটি সময়ই করতে চাই না কারণ আমার কাছে প্রচুর স্ক্রিপ্ট একে অপরকে কল করে।

হতে পারে একটি দুর্দান্ত ওভাররাইড এটি করবে, তবে আমাকে কেবল আমার স্ক্রিপ্টগুলিতে এই বিল্টিনগুলি ওভাররাইড করতে হবে এবং তারপরে সঠিক আচরণটি পুনরুদ্ধার করতে হবে।


4
যদি কেউ এই প্রশ্নের একটি একক সংঘটন আপনি প্রতিস্থাপন করতে পারেন নীরবতা অনুপস্থিত জুড়ে এসেছিল pushdএবং popdসঙ্গে cdএবং cd ~-~-একটি হল টিল্ড সম্প্রসারণ যে সেট $ OLDPWD
আগুস্তান লাডো

@ আগুস্টনলাডোও cd -কাজ করে। কোন সংস্করণটি বিস্তৃত সিস্টেমের সাথে আরও সুসংগত তা নিশ্চিত নয়।
শিপলু মোকাদ্দিম

4
@ শিপলুমোকাদ্দিম: টিলড ছাড়া এটি ফোল্ডারের নাম মুদ্রণ করে (কমপক্ষে উবুন্টুতে ১৮.০৪ ডাব্লুএসএল চলমান রয়েছে)।
astraujums

আপনার যদি ক cd some/pathএবং একটি cd -বা এর cd "${return_wd}"অনুরূপ কিছুর মধ্যে কমান্ডের অনুক্রম থাকে তবে কমান্ডগুলিকে একটি ফাংশনের মধ্যে ভাগ করে নেওয়ার বিষয়টি বিবেচনা করুন এবং সাবসেলের মতো ব্যবহার করুন (cd some/path; your_commands_here)। পুরাতন পিডাব্লুডিতে ডিরেক্টরি নেভিগেশনটি সাব-শেলের শেষে অন্তর্ভুক্ত রয়েছে। কমান্ড বিকল্পের জন্যও কাজ করে।
user4642212

উত্তর:


143

আপনি যোগ করতে পারে

pushd () {
    command pushd "$@" > /dev/null
}

popd () {
    command popd "$@" > /dev/null
}

প্রতিটি স্ক্রিপ্ট শীর্ষে। এটি সম্ভবত আপনার সমস্যা সমাধানের জন্য এটি সর্বনিম্ন পরিমাণ কাজ করবে।


ঠিক আমার যা দরকার ছিল ... ধন্যবাদ!
রনজিফনজি

যদি আপনিও ত্রুটিগুলি নিঃশব্দ করতে চান (যেমন কোনও ডিরেক্টরি নেই), তবে আপনি এর &>পরিবর্তে ব্যবহার করতে পারেন>
ম্যাটস্টারজন

4
ত্রুটিগুলি বিলম্ব করার সময় সাবধানতা অবলম্বন করুন: আপনি পরবর্তী তারিখে ব্যর্থতা নির্ণয়ের জন্য শক্ত তৈরি করতে পারেন। নিশ্চিত হয়ে নিন যে আপনি একটি নন-ওকে রিটার্ন কোড যাচাই করেছেন এবং সে অনুযায়ী এটিতে প্রতিক্রিয়া জানান।
ডেভিড স্পিলিট

4
@ xdevs23 || exit $?ঠিক এর সমান || exit। একই জন্য return
user4642212

4
@ বিম্যাকনফটন এটির কোনও প্রয়োজনীয় যুক্তি নেই; এটি গ্রহণ করে -nএবং পুরো পরিবার -Nএবং +N(একটি পূর্ণসংখ্যার জন্য N) যুক্তি।
চ্যানার

3

আপনার। প্রোফাইলে ফাইলটিতে (এটি আপনার সিস্টেমে যা বলা হয়) যুক্ত করুন:

pushd () {
    command pushd "$@" > /dev/null
}

popd () {
    command popd "$@" > /dev/null
}

export pushd popd

13
এটি সমগ্র সিস্টেমকে প্রভাবিত করে ... ব্যক্তিগতভাবে, আমি এইভাবে সুপারিশ করি না। ।
Sean83

3

Zsh এ আপনি করতে পারেন setopt PUSHDSILENT। এটি আপনার মধ্যে রাখুন ~/.zshrc


4
অথবা ব্যবহার popd -q(শান্ত)।
rxw

4
পপডের -qবিকল্প নেই
MarekN

4
@ মেরেকএন: "পপড-কিউ" এর পূর্ববর্তী মন্তব্যটি জ্যাশকে নির্দেশ করছে, বাশ নয়, যদিও মূল প্রশ্নটি জ্যাশ নয়, বাশ উত্তর চাইছিল বলে ট্যাগ করা হয়েছিল।
বি-জাজ

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