سؤال تغيير shell تسجيل الدخول


إذا قمت بتغيير shell الخاص بي مع chsh إلى صدفة كتبتها بنفسي ، ما هي البرامج النصية التي تحتاج إلى تنفيذها؟ لقد حاولت بالفعل تغيير إلى بلدي قذيفة والمفاجأة أنها عملت من دون رسالة خطأ. الآن ، هل هذا يعني أن shell تسجيل الدخول يقرر نفسه أي البرامج النصية لتشغيل وليس هناك أي برنامج نصي يجب تشغيل shell تسجيل الدخول؟

اعتقدت أنه تم تشغيل .login أو .aliases أو ما شابه ذلك دائما.


3
2018-06-18 13:46


الأصل




الأجوبة:


ال profile يتم تشغيل الملف دائمًا من خلال shell تسجيل الدخول ، وإذا كنت تريد الحصول على نصوص برمجية أخرى من خلال shell تسجيل الدخول ، فأنت تذكرها في profile


3
2018-06-18 16:39





يعتمد على تصميم قوقعتك.

هل يتبع معيار POSIX؟

إذا كانت الإجابة بنعم ، فيجب أن تقرأ القشرة الخاصة بك ENV متغير البيئة في بداية أي جلسة تفاعلية وقراءة / تنفيذ محتوى الملف (الملفات) ENV يشير متغير. لا يحتاج أي ملف آخر إلى أن يقرأ حسب المعيار. هذا هو الحد الأدنى لتشكيل POSIX بقدر ما يتعلق الأمر بقراءة الملفات أثناء البدء.

ماذا عن التخصيص؟

والشيء هو أن معظم القذائف تستخدم في الوقت الحاضر ملفات محددة للقراءة / المصدر / التنفيذ أثناء بدء الجلسة. تختلف الملفات لأنواع الجلسات المختلفة. فمثلا، bash مصادر الملفات /etc/profile واحد من ~/.bash_profile، ~/.bash_login، ~/.profile (أول واحد متاح بعد الطلب) أثناء بدء جلسة تفاعلية تسجيل الدخول. معظم قذائف شعبية تفعل ذلك أيضا ، ولكن مرة أخرى هذا هو قرار التصميم ، وليس معيارا.


1
2018-06-18 18:17