শেল কমান্ডের সামনে শতকরা চিহ্ন (%)


9

আমি আমার শেলটিতে সবেমাত্র একটি গুচ্ছ কোড পেস্ট করেছি, তবে %কমান্ডটি চালানোর আগে নেতৃস্থানীয়টিকে সরিয়ে দিতে ভুলে গিয়েছি । এটি কিছুই করেনি বলে মনে হয়। কেন এটি আমার শেল ( zsh ) এ কিছুই করে না ?

> % echo foo

ইন ব্যাশ , আমি নিম্নলিখিত পেতে

> % echo foo
bash: fg: %: no such job

আমি কেবল নিশ্চিত হতে চাই যে আমার কমান্ডটি চালানো কিছু খারাপ প্রভাব ফেলেনি।

উত্তর:


9

%এমন একটি 'জোবিড' বোঝায় যা zsh এর "কাজের নিয়ন্ত্রণ এবং প্রক্রিয়া নিয়ন্ত্রণ" বৈশিষ্ট্যগুলির অংশ হিসাবে ব্যবহৃত হয়। ব্যবহারকারী-গাইড থেকে উদ্ধৃত:

'fg' is the default operation on jobs referred to with the '%' notation,
so just typing '%1' with no command name would have worked, too.

উদাহরণ:

$> man zshall &
[1]  + 31392 suspended (tty output)  man zshall
$> jobs
[1]  + suspended (tty output)  man zshall
$> %
<manpage-opens-for-zshall>

এটি সম্পর্কে এখানে আরও পড়ুন: http://zsh.sourceforge.net/Guide/zshguide03.html#l39

আপনার আসল প্রশ্নের উত্তর দেওয়ার জন্য : যদি আপনার zsh সেখানে কোনও সতর্কতা না রাখে ("fg: কোনও বর্তমান চাকরি নয়" বা এর মতো) তবে সেখানে একটি চাকরি আছে। উদাহরণ:

$> sleep 60 &
$> % echo foo
[1]  + 411 running    sleep 60
fg: job not found: echo

%শুধু পটভূমি প্রক্রিয়া ফিরে পেয়েছি করে সঞ্চালিত হয়। 60 সেকেন্ডের পরে এটি পরবর্তী 'জোবিড' পেয়েছিল যা পাওয়া যায় নি।

এভাবে: আপনি যে আচরণ করেছেন তা কিছুটা অদ্ভুত। আপনার সম্পূর্ণ zshrc ব্যতীত ঠিক কী চলছে তা বলা শক্ত। দেখে মনে হচ্ছে আপনি নিজের zsh কে বলতে পেরেছেন যে '%' চরটি কোনও মন্তব্য শুরু করছে। আমি histcharsএটির তৃতীয় মানের জন্য প্যারামিটারটি যাচাই করব :

$> echo $histchars

উজ্জ্বল, ধন্যবাদ আমি তোমার পরীক্ষা প্রতিলিপি করতে সক্ষম হন এবং একটি চলমান কাজ ফোরগ্রাউন্ড %। $histcharsখুব ভাল ধরা , কিন্তু আমার একটি হ্যাশ চিহ্ন ( !^#)। আমি তখন আমার বিশেষ মামলার উত্তরটি অনুমান করছি যে জেডএসে কিছু পটভূমি প্রক্রিয়া অদ্ভুত আচরণ করছে। শেল পাঠের জন্য আবার ধন্যবাদ!
— ডেভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.