ที่ไหน. bashrc สำหรับรูต?


31

ฉันรู้ว่ามันไม่ใช่วิธีปฏิบัติที่ดีที่สุด แต่ในระบบ dev ของฉันฉันเข้าสู่ระบบด้วย root อะไรคือสิ่งที่เทียบเท่ากับไฟล์. bashrc ดังนั้นฉันจึงสามารถตั้งชื่อฟังก์ชันบางอย่างได้

ฉันได้พบ/etc/bash.bashrc& /etc/bash.bashrc.localแต่ฉันไม่แน่ใจว่าจะป๋อมคำสั่งของฉัน

กำลังเรียกใช้ x86_64 SUSE

ขอบคุณ mjb

คำตอบ:


19

น่าจะดีที่สุดที่จะใส่ไว้ใน ~ / .bashrc ดูเหมือนว่ารูทไม่ได้รับค่าปกติตามค่าเริ่มต้นใน distros แต่คุณเพียงแค่cp /etc/skel/.bash* ~แก้ไขมัน


ไปแล้ว --- ฉันไม่รู้เกี่ยวกับskelไดเรกทอรี คุณรู้หรือไม่ว่าเป็นค่าเริ่มต้นหรือไม่ หากฉันแก้ไขมันจะทำงานได้ในระดับสากลหากผู้ใช้ไม่มี~/.bashrc?
mbb

1
@mjb นั่นคือที่บัญชีใหม่ได้รับไดเรกทอรีบ้านเริ่มต้นของพวกเขา useraddไฟล์เครื่องมือคัดลอกมาจากที่นั่น มิฉะนั้นจะไม่ได้ใช้ คุณสามารถเพิ่มและแก้ไขสิ่งต่าง ๆ ได้หากคุณต้องการให้ผู้ใช้ที่สร้างขึ้นใหม่ทุกคนมีชุดไฟล์ที่แตกต่างกัน คิดว่ามันเป็นเทมเพลตบ้านผู้ใช้ใหม่
Keith

18

แล้ว dir ของรากที่เป็น / root /?

จากบางแง่มุมรูตเป็นเพียงผู้ใช้รายอื่น (ดีกว่าและอนุญาตเพิ่มเติม) root มี home dir แต่ไม่เหมือนกับผู้ใช้อื่น ๆ ใน / home / แต่เพียง / root / ดังนั้น root: s .bashrc จึงเป็น /root/.bashrc

การตั้งค่าใน / etc เป็นการตั้งค่าเฉพาะของระบบสำหรับผู้ใช้ทั้งหมดรวมถึงรูท


ขอขอบคุณ grawity ที่จะชี้ให้เห็นว่าคุณสามารถใช้ ~ root points เพื่อ dir root home โดยไม่คำนึงว่ามันอยู่ที่ไหน

คุณสามารถทดสอบด้วย

$> echo  ~root
/root

ดังนั้นแม้คุณ / รูทจะทำงานได้ 99% ในระบบที่ออกมา ~ รูทน่าจะพกพาได้มากกว่าและอาจใช้งานได้ 100%

~root/.bashrc

1
บางครั้งมันอยู่ในบ้าน เป็นการดีที่สุดที่จะใช้~root/.bashrcเพื่ออ้างถึงไฟล์ใน homedir ของรูท
grawity

5
ไดเร็กทอรีหลักของโฮมไม่ได้อยู่ใน / home เพราะในระบบ * nix บางระบบ / home อยู่ในพาร์ติชันแยกต่างหากจากไดรฟ์ระบบและไม่จำเป็นต้องทำการติดตั้ง
CarlF

คุณเน้นว่าทำไมฉันถึงสับสน --- ไม่มี /root/.bashrc ในงานสร้างนี้
mbb

อาจใช้งานได้ 100% ฉัน almots เข้าใจอย่างสมบูรณ์
Mateus Viccari

2

แทนที่จะใช้/root/.bashrcลองใช้/root/.profile- เป็นชื่อเดียวกันกับชื่ออื่น

นอกจากนี้หากคุณใช้suเพื่อเข้าสู่รูทอาจไม่สามารถอ่าน.bashrcหรือ.profile - เพียงแค่การออกsuจะไม่เรียกใช้สคริปต์การเข้าสู่ระบบ ลองทำ

su -

7
ฉันขอแตกต่างว่าโปรไฟล์และ bashrc คือ "สิ่งเดียวกัน"
slhck

ใช้งานได้กับ ttylinux เวอร์ชั่น 14.1 [boomslang], เคอร์เนล Linux: 2.6.38.1
GeoMint

@Slhck หากพวกเขาไม่เหมือนกันคุณสามารถอธิบายความแตกต่างได้หรือไม่ ฉันเป็นโน
เบล


0

โดยปกติ.bashrcไฟล์สำหรับผู้ใช้รูทควรอยู่ที่นั่น: /root/.bashrc
หากไม่ใช่กรณีนี้คุณสามารถคัดลอกไฟล์ 2 ไฟล์ต่อไปนี้ลงไป/rootได้จากนั้นคุณสามารถแก้ไข.bashrcไฟล์ได้ตามต้องการ

cp /etc/skel/.bash_profile /root
cp /etc/skel/.bashrc /root

0

หัวข้อที่คล้ายกัน: ทำไม suse ไม่มี. bash_profile หรือ. bashrc สำหรับผู้ใช้รูท

SuSe ใช้ไฟล์ /etc/bash.bashrc เพื่อจัดการสภาพแวดล้อม ไม่ได้ระบุว่าจะเพิ่มการกำหนดค่าในไฟล์นี้เนื่องจากเมื่อเซิร์ฟเวอร์ได้รับการอัปเดตคุณจะสูญเสียการกำหนดค่าส่วนบุคคลของคุณ

คุณสามารถสร้าง archieve ชื่อ bash.bashrc.local ใน / etc ระบบจะโหลดคำสั่งใด ๆ ที่พบในไฟล์นี้แล้วค้นหาค่าเริ่มต้น conf และดำเนินการทั้งสองอย่าง

# vi /etc/bash.bashrc.local

มีความสุข!


/etc/bash.bashrc สำหรับ SuSE Linux โปรดอย่าเปลี่ยน /etc/bash.bashrc มีโอกาสที่การเปลี่ยนแปลงของคุณจะสูญหายระหว่างการอัพเกรดระบบ ใช้ /etc/bash.bashrc.local แทนสำหรับ bash หรือ /etc/ksh.kshrc.local สำหรับ ksh หรือ /etc/zsh.zshrc.local สำหรับ zsh หรือ /etc/ash.ashrc.local สำหรับเชลล์ bourne ธรรมดา สำหรับการตั้งค่าท้องถิ่นนามแฝงทั่วโลกที่คุณชื่นชอบตัวแปรภาพและตัวแก้ไข ฯลฯ ...
Leonardo Benevides

0

ฉันดูที่นี่เพราะใน Slackware (64 บิต) 14.2 ของฉันการเข้าสู่ระบบรากไม่แน่นอนแหล่งที่มา /root/.bashrc มันแหล่ง /home/user/.bashrc ในการเข้าสู่ระบบบัญชีผู้ใช้ ไม่มี /etc/bash.bashrc หรือไฟล์ bash อื่น ๆ ใน / etc และไม่มีไดเร็กทอรีใด ๆ เช่น / etc / skel ที่ชัดเจน


เป็นเรื่องที่ดีเสมอที่เห็นลิงก์ไปยังเอกสารประกอบ
davidbaumann

0

TL / DR: /etc/bashrc

ไฟล์ได้รับนี้ก็รวมอยู่ในของคุณ~/.bashrcเช่นเดียวกับที่ผู้ใช้อื่น ๆ rootรวมทั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.