ব্যাশে
আমার কী ব্যবহার করা উচিত তা নির্ধারণ করতে আমার কিছুটা সমস্যা হচ্ছে?
আমার সমস্ত স্ক্রিপ্টগুলি ">> / 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
উপলভ্য না হলে পুনর্নির্দেশের উদ্দেশ্যে সিমুলেট করা) উপস্থিত থাকার গ্যারান্টি নেই।