นำ Terminal เก่าของฉันกลับมาหลังจากถอนการติดตั้งปลา


1

เมื่อเร็ว ๆ นี้ฉันรู้สึกเบื่อกับข้อบกพร่องเล็ก ๆ ที่ Fish Shell มอบให้ฉันด้วย (คำสั่งที่ไม่สามารถค้นพบได้ ฯลฯ ) ดังนั้นฉันตัดสินใจว่าฉันต้องการเปลี่ยนเชลล์กลับเป็นปกติและถอนการติดตั้งปลา

อย่างไรก็ตามในกระบวนการของการทำเช่นนั้นฉันได้ทำอะไรผิดอย่างมาก

ฉันได้ตั้งเป็นปกติ: /bin/bash

อย่างไรก็ตาม Im แทนด้วยชุดของพรอมต์ (เกี่ยวกับ Vagrant) และต้องออกจากสิ่งนี้ด้วยคำสั่ง CTRL + C (ยกเลิก)

ฉันต้องการรับเครื่องเก่าของฉันกลับ (พร้อมโฟลเดอร์ปัจจุบันของฉันไว้ล่วงหน้า ฯลฯ ) แต่ฉันไม่มีเงื่อนงำในการทำสิ่งนี้ให้สำเร็จ

ฉันได้แนบภาพหน้าจอสองหน้า หนึ่งคือเทอร์มินัลปัจจุบัน (อันที่มี bash -bash-3.2$อยู่ข้างหน้าอันที่สองคือเทอร์มินัลที่ฉันต้องการ (ค่าเริ่มต้นพร้อมชื่อผู้ใช้ต่อท้าย) [แหล่งที่มาของภาพถูกพบบนอินเทอร์เน็ตเพื่อการอ้างอิง]

นี่คือเทอร์มินัลที่ฉันมี เทอร์มินัลที่ฉันมี

นี่คือเทอร์มินัลที่ฉันต้องการ เทอร์มินัลที่ฉันต้องการ

ฉันพบสองสิ่ง:

  1. โปรไฟล์ทุบตีของฉันถูกลบดังนั้นฉันไม่เห็นชื่อคอมพิวเตอร์ของฉัน ฯลฯ ฉันพยายามสร้างใหม่ แต่:
  2. ฉันต้องการตัวอย่าง. bash_profile
  3. ... และฉันต้องการให้ขัดขืนเช่นนี้เมื่อฉันออกจากเทอร์มินัลฉันไม่ได้ทำการเริ่มต้นสคริปต์VVV (ซึ่งเห็นได้ชัดว่ามันจะดับลงเมื่อมันเข้าสู่เครื่องครั้งแรก)

1
คุณมีอะไรใน ~ / .bashrc ~ / .bash_profile ~ / .profile ฯลฯ
ทำเครื่องหมาย

ไม่มีสิ่งเหล่านี้ว่างเปล่าอย่างสมบูรณ์ ฉันลบทุกอย่าง ... และเปลี่ยนเชลล์
lpdechow

คำตอบ:


2

ครั้งแรกสิ่งrm ~/.bashrc ~/.bash_profile ~/.profileเหล่านี้ไม่จำเป็นและไม่มีอยู่ตามค่าเริ่มต้น

ประการที่สองตรวจสอบเพื่อดูว่า/etc/profileมีควรจะ:

# System-wide .profile for sh(1)
if [ -x /usr/libexec/path_helper ]; then
    eval `/usr/libexec/path_helper -s`
fi
if [ "${BASH-no}" != "no" ]; then
    [ -r /etc/bashrc ] && . /etc/bashrc
fi

ประการที่สามตรวจสอบ/etc/bashrc(นี่คือที่กำหนดของคุณให้) ควรจะเป็น:

# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
   return
fi
PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
# Tell the terminal about the working directory at each prompt.
if [ "$TERM_PROGRAM" == "Apple_Terminal" ] && [ -z "$INSIDE_EMACS" ]; then
    update_terminal_cwd() {
        # Identify the directory using a "file:" scheme URL,
        # including the host name to disambiguate local vs.
        # remote connections. Percent-escape spaces.
    local SEARCH=' '
    local REPLACE='%20'
    local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
    printf '\e]7;%s\a' "$PWD_URL"
    }
    PROMPT_COMMAND="update_terminal_cwd; $PROMPT_COMMAND"
fi

สุดท้ายหากยังใช้งานไม่ได้ให้แน่ใจว่าคุณได้ตั้งค่า / bin / bash เป็นเชลล์เริ่มต้นโดยใช้ตัวเลือกขั้นสูงในการตั้งค่าระบบ & กลุ่มผู้ใช้ หากคุณไม่ได้ลงชื่อเข้าใช้ด้วย bash ระบบจะข้ามการกำหนดค่าไป/etc/


ด้วยการปรับเปลี่ยนเล็กน้อย (เช่นการลบเครื่องหมายแบ็กสแลชโค้ด (ในไฟล์ / etc / bashrc -) ทำงาน! เห็นได้ชัดว่าฉันวางโค้ดสำหรับสคริปต์การสร้าง VVV ภายใน / etc / bashrc ของฉันทุกอย่างได้รับการแก้ไขแล้วขอบคุณโปสเตอร์ที่รัก .
lpdechow

3

วิธีที่ง่ายที่สุดในการเรียกคืน. bash_profile ที่เป็นค่าเริ่มต้นอาจเป็นเพียงแค่สร้างผู้ใช้ใหม่บน Mac ของคุณ ล็อกอินและคัดลอกไฟล์ที่ต้องการไปยังโฟลเดอร์แชร์ / สาธารณะของผู้ใช้ จากนั้นเข้าสู่ระบบในขณะที่คุณและคัดลอกไปยังรากของโฟลเดอร์โปรไฟล์ของคุณ

โบนัสเพิ่มเติมของสิ่งนี้คือตอนนี้คุณมีผู้ใช้ที่บริสุทธิ์ผู้ใช้ที่คุณสามารถใช้เมื่อแก้ไขปัญหา Mac ของคุณ นอกจากว่าคุณมีพื้นที่ดิสก์เหลือน้อยโปรไฟล์ผู้ใช้ใหม่จะไม่ใหญ่และอาจเป็นประโยชน์ในการแก้ไขปัญหา


บัญชีเชลล์นี้ยังสามารถใช้เพื่อเปรียบเทียบไฟล์ dot ในทั้งโฮมไดเร็กตอรี่ จากนั้นอาจจะค่อนข้างง่ายในการคัดแยกเนื้อหาเริ่มต้นของ. bashrc. profile ฯลฯ ...
bmike

1

นี่คือบทสุดท้ายในเอกสารประกอบ Fish Shell:

หากคุณต้องการถอนการติดตั้งปลาอันดับแรกต้องแน่ใจว่าไม่ได้ตั้งค่าให้ปลาเป็นเปลือกของคุณ วิ่ง

chsh -s /bin/bash

ถ้าคุณไม่แน่ใจ

ถัดไปทำสิ่งต่อไปนี้ (สมมติว่าปลาได้รับการติดตั้ง / usr / local):

sudo rm -Rf /usr/local/etc/fish /usr/local/share/fish ~/.config/fish
sudo rm /usr/local/share/man/man1/fish*.1
cd /usr/local/bin
sudo rm -f fish mimedb fish_pager fishd fish_indent

ใช่ แต่ OP ได้ทำสิ่งนี้ - ปัญหาอยู่ที่การตั้งค่า bash ของเขา
มาร์ก

ตามที่กล่าวโดย Mark ฉันได้ถอนการติดตั้ง Fish และเปลี่ยนเป็น / bin / bash shell แต่ฉันไม่เห็นชื่อผู้ใช้ของฉันต่อท้ายหรือโฟลเดอร์ Im อยู่ในภายในหน้าต่างเทอร์มินัลของฉัน
lpdechow

0

การชี้แจง: มีการตั้งค่าเชลล์เริ่มต้นสองรายการ

  • หนึ่งคือการตั้งค่า Unix chsh -sและสามารถเปลี่ยนแปลงได้ด้วย
  • อื่น ๆ คือการตั้งค่าเฉพาะ Terminal.app และสามารถเปลี่ยนแปลงได้ในการตั้งค่าเทอร์มินัล

คุณสามารถตั้งค่าคำสั่งเชลล์เริ่มต้นเทอร์มินัลเป็น/bin/bash -lในแอปเทอร์มินัล

ภาพหน้าจอ

-lบอก Bash ให้อ่านไฟล์เริ่มต้น แม้ว่าคุณจะไม่มีไฟล์เริ่มต้นเฉพาะผู้ใช้ แต่ก็มีไฟล์เริ่มต้นสำหรับทั้งระบบที่จะตั้งค่าพรอมต์ให้เป็นไฟล์ที่คุณคุ้นเคย

หากคุณตั้งค่าเชลล์เริ่มต้นของ Unix อย่างถูกต้องคุณควรเลือกDefault login shellในการตั้งค่าเทอร์มินัลและสิ่งนี้จะเกิดขึ้นโดยอัตโนมัติ


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