ব্যাশে
আমার কী ব্যবহার করা উচিত তা নির্ধারণ করতে আমার কিছুটা সমস্যা হচ্ছে?
আমার সমস্ত স্ক্রিপ্টগুলি ">> / dev / stderr" ব্যবহার করে
বাশ প্রম্পটে, যদি আমি চেষ্টা করি:
echo test >>/dev/stderrকাজ
echo test >> /dev/stderrকরে
echo test >/dev/stderrকাজ
echo test > /dev/stderrকরে কাজ করে
echo test >>&2ব্যর্থ!
echo test >> &2ব্যর্থ!
echo test >&2কাজ
echo test > &2ব্যর্থ হয়!
আমি আমার সমস্ত স্ক্রিপ্ট এ পরিবর্তন করতে ইচ্ছুক >&2।
এটি ssh (পরে su SomeUser) এর উপরও একটি বড় প্রভাব ফেলবে বলে মনে হয় যেখানে >>/dev/stderrকোনও কাজ হবে না (অনুমতি অস্বীকৃত), কেবলমাত্র >&2কাজ করবে।
suসমস্যাটি ঘটে যাওয়ার পরেই প্রশ্নটি আপডেট করেছেন
su -c 'some command', সেই আদেশটি চালিত হয় /bin/sh, না bash, তাই বাশ-নির্দিষ্ট আচরণ (যেমন /dev/stderrউপলভ্য না হলে পুনর্নির্দেশের উদ্দেশ্যে সিমুলেট করা) উপস্থিত থাকার গ্যারান্টি নেই।