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


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.