โปรไฟล์ Ash / ไฟล์การกำหนดค่า


26

ฉันกำลังมองหาวิธีในการปรับแต่งเซสชัน Ash ด้วยชุดaliases และ whatnots ของฉันเอง ไฟล์ Ash ของ Bash เทียบเท่ากับbashrcอะไร?

คำตอบ:


21

Ash อ่านไฟล์ต่อไปนี้ก่อน (ถ้ามี):

  • ระบบ: /etc/profile
  • ผู้ใช้: ~/.profile

8
โดยมีเงื่อนไขว่าจะเรียกใช้เป็นเชลล์การเข้าสู่ระบบซึ่งไม่ใช่ค่าเริ่มต้น (เช่นใน Alpine Linux / Docker)
Jakub Holý

2
@ JakubHolýคุณหาวิธีเรียกใช้สคริปต์โปรไฟล์สำหรับเปลือกที่ไม่ได้เข้าสู่ระบบหรือไม่?
David Lukac

@DavidLukac - ดูคำตอบอื่น ๆ ของฉันที่นี่สำหรับกระสุนที่ไม่ใช่การเข้าสู่ระบบ
spechter

8

เชลล์ที่ไม่ได้ล็อกอินจะอ่านไฟล์หากระบุไว้ในตัวแปรสภาพแวดล้อม ENV

ดังนั้นหากคุณตั้งค่าไว้อย่างใด (อาจเป็นใน ~ / .profile หรือการควบคุมสภาพแวดล้อม 'การเสริม' อื่น ๆ ) ดังนั้นเชลล์ที่มีการแยกในอนาคตจะรันสคริปต์นั้น มีประโยชน์มากสำหรับกรณีที่ไม่ได้ลงชื่อเข้าใช้

มันยากที่จะหาเอกสารเกี่ยวกับเรื่องนี้ แต่มันได้รับการยืนยันว่าจะทำงานบน busybox-w32 (ทำงานบน Windows) ในความเป็นจริงมันยากที่จะหาเอกสารที่ดีเกี่ยวกับคุณสมบัติของเถ้าเลย

การปรับปรุง: มีช่วงของสายพันธุ์เถ้าในป่า 'ENV' อาจไม่สามารถใช้งานได้ทั้งหมด มีข้อมูลบางอย่างเกี่ยวกับตัวแปรที่นี่: https://www.in-ulm.de/~mascheck/various/ash/

มีข้อเสนอแนะว่าอาจมีการใช้ 'SHINIT' แทนการใช้ของ ENV


ไม่ทำงานสำหรับฉันภายใต้อัลไพน์ 3.7
knite

@knite Busybox ของแอช (ใช้อัลไพน์) ใช้ENV
kirbyfan64sos

มีตัวแปร ENV หรือ SHINIT ที่จะตั้งค่าหรือตั้งค่าเป็นค่าเฉพาะหรือไม่ ฉันกำลังพยายามบังคับนักเทียบท่าให้อ่าน. profile ใน /root/.profile โดยไม่ต้องเริ่มต้นด้วย / bin / sh -l อย่างชัดเจน
Leon

@Leon - ENV (หรืออาจจะ SHINIT) ต้องมีเส้นทางแบบเต็มของไฟล์ที่จะโหลด / แหล่งที่มา แต่นี่เป็นเพียงการเริ่มต้นของตัวแปรเชลล์ 'ash' ไม่ใช่ sh หรือ bash shell ทั่วไป
spechter
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.