คำถามติดแท็ก bashrc

ไฟล์ Bashrc ถูกใช้โดย Bourne Again Shell ใน Unix / Linux เพื่อตั้งค่าตัวแปรสภาพแวดล้อมและรันคำสั่ง

30
สิ่งใดที่มีประโยชน์สามารถเพิ่มให้กับ. bashrc [ปิด]
มีอะไรบ้างที่คุณขาดไม่ได้และจะทำให้ชีวิตของฉันง่ายขึ้นไหม? นี่คือบางส่วนที่ฉันใช้ ('ดิสก์' และ 'โฟลเดอร์' มีประโยชน์อย่างยิ่ง) # some more ls aliases alias ll='ls -alh' alias la='ls -A' alias l='ls -CFlh' alias woo='fortune' alias lsd="ls -alF | grep /$" # This is GOLD for finding out what is taking so much space on your drives! alias diskspace="du -S | sort -n …

18
เข้าสู่ระบบโดยไม่ต้องรัน bash_profile หรือ bashrc
ดังนั้นสมมติว่ามีสิ่งที่พิมพ์ผิดในสิ่ง.bashrcที่ป้องกันไม่ให้เขา (หรือเธอ) เข้าสู่ระบบผ่านssh(เช่นการเข้าสู่ระบบ ssh ออกเนื่องจากข้อผิดพลาดในไฟล์) มีวิธีใดบ้างที่บุคคลนั้นสามารถลงชื่อเข้าใช้โดยไม่ต้องดำเนินการ (หรือ.bashrcตั้งแต่ที่ผู้ใช้รายอื่นทำงาน) หรือลบ / เปลี่ยนชื่อ / ทำให้ไฟล์ใช้งานไม่ได้? สมมติว่าคุณไม่มีสิทธิ์เข้าถึงเครื่องและนี่เป็นบัญชีผู้ใช้เดียวที่มีความสามารถในการ ssh สำหรับการอ้างอิง: .bash_profileรวมถึง.bashrc: [[ -f ~/.bashrc ]] && . ~/.bashrc แก้ไข: สิ่งที่ฉันได้ลอง: ssh user@host "rm ~/.bashrc" scp nothing user@host:/RAID/home/tom/.bashrc ssh user@host "/bin/bash --norc" ทุกข้อผิดพลาด: /RAID/home/tom/.bashrc: line 16: /usr/local/bin/file: No such file or directory /RAID/home/tom/.bashrc: line 16: exec: …
75 ssh  login  bashrc 

1
อะไรคือความแตกต่างระหว่าง 'เข้าสู่ระบบ' และเปลือกทุบตี 'แบบโต้ตอบ'
ความแตกต่างระหว่าง 'เข้าสู่ระบบ' และเปลือกทุบตี 'แบบโต้ตอบ' คืออะไร? ฉันอ้างถึง Wikipedia ด้านล่าง แต่ทุกคนสามารถให้คำตอบที่ดีกว่าได้ไหม แก้ไข: นี่คือ wiki ชุมชนดังนั้นอาจจะมากกว่าการลงคะแนนเพื่อปิดคุณสามารถให้ตัวอย่างของสถานการณ์ที่เรียกว่า $ SHELL ประเภทใด สคริปต์เริ่มต้น เมื่อ Bash เริ่มทำงานคำสั่งจะดำเนินการกับสคริปต์ที่แตกต่างหลากหลาย เมื่อ Bash ถูกเรียกใช้เป็นเชลล์ล็อกอินแบบโต้ตอบอันดับแรกจะอ่านและดำเนินการคำสั่งจากไฟล์ / etc / profile หากไฟล์นั้นมีอยู่ หลังจากอ่านไฟล์นั้นจะค้นหา ~ / .bash_profile, ~ / .bash_login และ ~ / .profile ตามลำดับและอ่านและเรียกใช้คำสั่งจากไฟล์แรกที่มีอยู่และอ่านได้ เมื่อล็อกอินเชลล์ออก Bash จะอ่านและดำเนินการคำสั่งจากไฟล์ ~ / .bash_logout หากมีอยู่ เมื่อเชลล์เชิงโต้ตอบที่ไม่ใช่เชลล์ล็อกอินเริ่มทำงาน Bash จะอ่านและดำเนินการคำสั่งจาก …

5
สถานที่มาตรฐานสำหรับสคริปต์ bash_completion.d ที่ผู้ใช้กำหนด?
ฉันมีการเข้าถึงของผู้ใช้ (ไม่มีรูท) ในเครื่อง Linux (Suse) ที่ฉันพัฒนาสคริปต์ทุบตีและกฎการเติมข้อความอัตโนมัติของ bash ที่เกี่ยวข้อง เนื่องจากสคริปต์เป็นของผู้ใช้ของฉันเท่านั้นดังนั้นฉันจึงต้องการกฎที่สมบูรณ์เท่านั้น "ใช้งานได้" สำหรับฉัน (ส่วนหนึ่งจากความจริงที่ว่าฉันไม่มีการเขียนรูท) การวางสคริปต์ bash_completion ลงใน/etc/bash_completion.d/โฟลเดอร์จึงไม่ใช่ตัวเลือก ในขณะนี้ฉันตั้งชื่อไฟล์.bash_completion.myscriptและแหล่งที่มาของฉันโดยตรงจากฉัน.bashrcแต่ฉันสงสัยว่ามีวิธี "มาตรฐาน" อื่น ๆ ของการบรรลุผลเหล่านี้พิจารณาแล้วในการดำเนินการทุบตี ตัวอย่างเช่นการสร้างโฟลเดอร์/home/myuser/.bash_completion.d/?

2
ทางตรงไปข้างหน้าเพื่อเรียกใช้ ssh-agent และ ssh-add ในการเข้าสู่ระบบผ่าน SSH?
ฉันพยายามที่จะให้คำสั่งต่อไปนี้ถูกดำเนินการอัตโนมัติเมื่อฉันลงชื่อเข้าใช้เซิร์ฟเวอร์ของฉันผ่าน ssh: ssh-agent /bin/bash ssh-add ~/.ssh/id_rsa คีย์ ssh ของฉันมีข้อความรหัสผ่านและฉันไม่ต้องใส่มันอีกครั้งต่อการเข้าสู่ระบบ ฉันพยายามวางสิ่งนี้ลงในไฟล์. bashrc ของฉันอย่างไรก็ตามฉันเชื่อว่า ssh-agent เริ่มเซสชัน bash ใหม่ เมื่อฉันพยายามที่จะเข้าสู่ระบบหลังจากที่มีสิ่งนี้ใน. bashrc ของฉันมันจะติดและฉันต้องพิมพ์ 'ทางออก' เพื่อดูพรอมต์ 'ป้อนรหัสผ่านเพื่อปลดล็อคกุญแจ' ข้อเสนอแนะอื่น ๆ ? เซิร์ฟเวอร์กำลังใช้งาน Ubuntu LTS

10
ฉันเมาแล้วออกใน. bashrc
ฉันใส่ "exit" ในไฟล์. bashrc ของฉัน ฉันไม่สามารถเข้าถึงเครื่องได้ดังนั้นฉันจึงใช้ ssh ฉันไม่มีสิทธิ์รูท ทุกครั้งที่ฉันเชื่อมต่อกับเซิร์ฟเวอร์การเชื่อมต่อจะปิดโดยอัตโนมัติ จนถึงตอนนี้ฉันได้ลองแล้ว: เขียนทับ. bashrc ด้วย scp และ sftp การเชื่อมต่อปิดลงก่อนที่ฉันจะทำอะไรก็ได้ การใช้โปรแกรม GUI ที่แตกต่างกันสองสามตัวเพื่อเข้าถึง ssh (การเชื่อมต่อปิด) เขียนทับไฟล์ด้วย ftp (ไม่สามารถใช้ ftp) จากคอมพิวเตอร์ที่บ้านของฉัน $ ssh host "bash --noprofile --norc" (ปิดการเชื่อมต่อ) $ ssh host "mv .bashrc bashrc_temp" (ปิดการเชื่อมต่อ) $ ssh host "rm .bashrc" (สิ่งเดียวกัน) $ ssh host …
27 ssh  bashrc 

6
วิธีใช้ไฟล์. bashrc ที่กำหนดเองในการเข้าสู่ระบบ SSH
ฉันพบว่ากับ บริษัท ใหม่ที่ฉันทำงานด้วยบ่อยครั้งที่ฉันต้องเข้าถึงเซิร์ฟเวอร์ linux ด้วยอายุการใช้งานที่ค่อนข้างสั้น ในแต่ละเซิร์ฟเวอร์ฉันมีบัญชี แต่เมื่อใดก็ตามที่มีการสร้างใหม่ฉันต้องผ่านการถ่ายโอนผ่าน. bashrc ที่ยุ่งยาก เป็นไปได้ว่าในเวลาประมาณหนึ่งเดือนเซิร์ฟเวอร์นั้นจะไม่อยู่อีกต่อไป ฉันยังต้องเข้าถึงเซิร์ฟเวอร์อื่น ๆ ในช่วงเวลาสั้น ๆ (นาที) ซึ่งไม่คุ้มค่าที่จะถ่ายโอนผ่าน. bashrc ของฉัน แต่เนื่องจากฉันทำงานบนเซิร์ฟเวอร์จำนวนมากสิ่งนี้จึงเพิ่มเวลาที่สูญเปล่าไปมาก ฉันไม่ต้องการเปลี่ยนแปลงอะไรบนเซิร์ฟเวอร์ แต่ฉันสงสัยว่ามีวิธีการ "ต่อการเชื่อมต่อ" .bashrc ดังนั้นเมื่อใดก็ตามที่ฉันต้องการ SSH ไปยังเซิร์ฟเวอร์การตั้งค่าของฉันจะถูกใช้สำหรับเซสชันนั้น ถ้าเป็นไปได้มันจะดีถ้าฉันสามารถทำสิ่งเดียวกันกับไฟล์การกำหนดค่าอื่น ๆ เช่นไฟล์ gitconfig

6
ใช้. bashrc โดยไม่ทำลาย sftp
ปัญหาของฉันคือฉันต้องตั้งค่าตัวแปรไม่กี่และส่งออกไม่กี่บรรทัดทุกครั้งที่ฉันเข้าสู่เชลล์ ssh และในเวลาเดียวกันฉันต้องสามารถใช้ sftp เพื่อ tarnsfer ไฟล์ผ่าน Filezilla ตอนนี้ตาม FAQ ของ openssh ที่http://www.openssh.org/faq.htmlหากสคริปต์เริ่มต้นของคุณดังก้องเอาท์พุทประเภทใดก็จะยุ่งกับ sftp ดังนั้นจึงเกิดความล่าช้าอย่างไม่มีกำหนดหรือเกิดข้อผิดพลาดด้วย "การเชื่อมต่อถูกปิดโดยเซิร์ฟเวอร์ด้วยรหัสออก 128" ฉันลองใช้วิธีแก้ไขปัญหาเช่นย้าย. bashrc ไปยัง. bash_profile หรือใช้รหัสต่อไปนี้ใน. bashrc: if [ "$TERM" != "dumb" ] then source .bashc_real fi และ: if [ "$TERM" = "xterm" ] then source .bashc_real fi อย่างไรก็ตามไม่มีอะไรทำงาน เทอร์มินัลเชลล์ของฉันคือทุบตีและฉันเชื่อมต่อกับ sftp ด้วย filezilla
20 linux  ssh  sftp  bashrc 

4
ทำไม. bashrc ของฉันไม่อ่านภายใต้ cygwin
. bashrc ของฉันมีลักษณะเช่นนี้: alias name@server="ssh server sname" echo "bashrc read" echoคำสั่งเป็นเพียงสำหรับการตรวจสอบถ้ามันเป็นอ่าน แต่เสียงสะท้อนไม่ได้ทำอะไรเลย ฉันต้องการตั้งค่านามแฝงสำหรับ ssh ที่เร็วขึ้นในกล่องทำคำสั่งบางอย่างซึ่งเป็นนามแฝงที่ทำงานบนกล่องระยะไกล
10 bash  cygwin  bashrc 

5
ฉันจะคืนค่า bashrc เริ่มต้นได้อย่างไร
.bashrcผมได้เขียนทับโดยไม่ได้ตั้งใจ ฉันทำสิ่งต่อไปนี้ echo 'export EDITOR=/usr/bin/nano' >> /etc/bashrc Bur ฉันตั้งใจพิมพ์แทน> >>ฉันคิดว่ามันเป็นความคิดที่ไม่ดี ฉันยังสามารถเข้าสู่ระบบโดยใช้เคล็ดลับนี้ (กดCtrl+Cก่อน. bashrc จะถูกดำเนินการอย่างเต็มที่) แต่ฉันจะคืนค่าเป็นค่าเริ่มต้นได้.bashrcอย่างไร ฉันใช้ CentOS 6.5 x86_64 หากไฟล์ bashrc เริ่มต้นมีอยู่ในการแจกจ่ายที่อื่นฉันไม่สามารถหาได้
9 bash  bashrc 

6
ตัดรายการที่ซ้ำกันออกจากตัวแปร PATH
ฉันแก้ไข. bashrc ของฉันบ่อยๆ อย่างไรก็ตามเมื่อฉันมีสิ่งต่าง ๆ เช่น export PATH="~/bin:~/perl5/bin:$PATH"ในไฟล์ของฉันPATHตัวแปรสภาพแวดล้อมจะเพิ่มขึ้นทุกครั้งที่ฉันจัดหาไฟล์ ตัวอย่างเช่นครั้งแรก .bashrc มีที่มาที่ตัวแปรประกอบด้วยPATH~/bin:~/perl5/bin:/usr/bin:/bin ~/bin:~/perl5/bin:~/bin:~/perl5/bin:/usr/bin:/binครั้งที่สองประกอบด้วย ~/bin:~/perl5/bin:~/bin:~/perl5/bin:~/bin:~/perl5/bin:/usr/bin:/binครั้งที่สามประกอบด้วย มีวิธีง่ายๆในการเพิ่มเฉพาะสิ่งที่ไม่ได้อยู่ในเส้นทางหรือไม่?
9 bash  shell  path  bashrc 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.