macOS Catalina 10.15 (beta) - Tại sao ~ / .bash_profile không có nguồn từ shell của tôi?


113

Tôi muốn thiết lập các biến môi trường tôi thêm vào dưới dòng ~/.bash_profile~/.profilenhưng nó đã không làm việc.

export JBOSS_HOME=/Users/{USERNAME}/Desktop/jboss7

Sau đó, thoát khỏi thiết bị đầu cuối và mở lại khi thực thi, echo $JBOSS_HOMEtôi không nhận được gì.
nhập mô tả hình ảnh ở đây


Tôi đoán .bash_profile không có nguồn gốc. Bạn có chắc chắn rằng thiết bị đầu cuối của bạn tạo một trình bao đăng nhập bash không? Nếu không, .bash_profile sẽ bị bỏ qua.
user1934428

1
@ user1934428 Vâng, đúng vậy. Tôi không biết tại sao bash mặc định lại bị thay đổi? !!
Reza Dehnavi

Tôi không hiểu. "Mặc định" nào được thay đổi? Bạn không cho biết bạn đang sử dụng chương trình Terminal nào, nhưng thông thường bạn có thể cấu hình ứng dụng Terminal cách khởi động shell.
dùng1934428

@ user1934428 Tôi không biết có nhiều shell khác nhau.
Reza Dehnavi

1
Apple thay thế bash bằng zsh làm shell mặc định trong macOS Catalina stackoverflow.com/a/59151321/5788247
Shomu

Câu trả lời:


288

Apple đã thay đổi shell mặc định thành zsh. Do đó bạn phải đổi tên các tệp cấu hình của mình. .bashrclà bây giờ .zshrc.bash_profilebây giờ .zprofile.


3
Apple đã thay đổi từ bash sang zshell do lo ngại về cấp phép. thenextweb.com/dd/2019/06/04/…
Manuel Hernandez

109
Đó thật là một kinh nghiệm người dùng tuyệt vời như thế nào phá vỡ thiết lập dev của tôi với tất cả các hệ điều hành X nâng cấp
Chris Hatton

2
@ChrisHatton Tôi chỉ tiếp tục chờ đợi bản cập nhật tiếp theo để tôi có thể phá vỡ thiết lập hiện tại của mình và bắt đầu lại mọi thứ từ đầu, mong đợi bản phát hành tiếp theo!
Utsav Gupta

46

Nếu bạn vì lý do nào đó (như tôi) không muốn đổi tên / di chuyển ~/.bash_profiletệp của mình, bạn có thể làm những việc tiếp theo:

  1. Tạo một tệp mới ~/.zprofile
  2. Gõ vào đó source ~/.bash_profile
  3. Lưu và đóng
  4. Chạy một phiên đầu cuối mới

5

Tôi đã tạo một tệp mới có tên là

/usr/local/bin/mybash

chứa một tập lệnh trình bao bọc:

/usr/local/bin/bash --init-file $HOME/.bashrc

Tôi đã cài đặt cục bộ / bin / bash này từ HomeBrew .

Chuỗi sự kiện đầy đủ

brew install bash
echo "/usr/local/bin/bash --init-file $HOME/.bashrc" > /usr/local/bin/mybash
chmod +x /usr/local/bin/mybash

Sau đó, tôi mở cài đặt cho terminal.app[cmd-comma]. Trong GeneralTab, chọn nút radio choCommand (complete path)

Trong hộp văn bản thay đổi văn bản từ /bin/zsh/thành /usr/local/bin/bash.

Ví dụ về định dạng cuối cùng


1
Đây là một lựa chọn tốt, vì các câu trả lời trên không tính đến việc một số cú pháp nhất định khác nhau trong zsh và bash.
Prashant Sharma

3

Sau khi bạn đóng cửa sổ Terminal, các biến bạn đặt trong cửa sổ đó sẽ không còn nữa. Nếu bạn muốn giá trị của một biến tồn tại trong các phiên và trong tất cả các cửa sổ Terminal, bạn phải đặt nó trong một tập lệnh khởi động shell. Để biết thông tin về cách sửa đổi tập lệnh khởi động trình bao zsh của bạn để giữ các biến và các cài đặt khác trong nhiều phiên, hãy xem phần “Lời mời” của trang zsh man .

Bạn có thể sử dụng ~/.zloginđể thêm các biến của mình.

Kiểm tra tài liệu tham khảo này .


0

thay đổi hồ sơ bash thành hồ sơ zsh hoạt động và nguồn nó cũng như để xem trong hành động.

vikas@Vikas-Kumar ~ % mv .bash_profile .zsh_profile
vikas@Vikas-Kumar ~ % source .zsh_profile

0

Bạn có thể tạo một liên kết simbolic và giữ tệp .bash_profile của mình bằng:

ln -s .bash_profile .zsh_profile
source .zsh_profile

Mọi thay đổi trong .bash_profile sẽ được phản ánh trong .zsh_profile


Tôi nhận được ln: .zsh_profile: Hoạt động không được phép
Salman Ullah Khan

-1

bạn không cần cập nhật tệp, zsh là mặc định của mac, hãy đặt nó vào terminal. ví dụ:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

-3
cp zprofile ~/.zprofile

Thêm vào .zprofile:

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

ví dụ. bởi>vi .zprofile

Làm xong

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.