Làm thế nào để shell của tôi luôn bắt đầu trong một thư mục nhất định không phải là thư mục chính của tôi


20

Tôi đã thử đặt

cd /Users/my_name/my_directory/structure

trong cả hai .bashrc.bash_loginkhông hoạt động, tức là khi tôi mở một cửa sổ terminal mới, tôi đang ở trong thư mục nhà (/ Users / my_name /).

Không có thông báo lỗi, chỉ không cd'd vào thư mục như hy vọng khi bắt đầu một cửa sổ terminal mới.

Câu trả lời:


5

Như Gerry đã đề cập, .bashrckhông được đọc bởi shell đăng nhập. Các tab mới là shell đăng nhập theo mặc định trong Terminal và iTerm 2. .bash_loginchỉ được đọc nếu không có .bash_profile.

Bạn cũng có thể thêm một cdlệnh vào .bash_profile.


38

Trước hết, nếu bạn chưa sử dụng iTerm2, tôi khuyên bạn nên tải xuống phần mềm miễn phí này để thay thế cho Terminal.app.

Trong số nhiều tính năng bổ sung khác, trong iTerm Preferences, bạn có thể định cấu hình thư mục làm việc mặc định cho các shell mới. Bạn sẽ tìm thấy các cài đặt này trong Hồ sơ - Chung.

Thư mục làm việc mặc định của iTerm

Ưu điểm ở đây là bạn có thể thiết lập các hành vi khác nhau để mở một cửa sổ mới so với mở một tab mới hoặc thậm chí tạo một ngăn chia mới. Cá nhân tôi thích ở trong thư mục làm việc hiện tại khi thêm một ngăn chia, chẳng hạn.

Bạn cũng có thể làm điều đó trong kịch bản khởi động của mình (mặc dù tôi thấy giải pháp iTerm dọn dẹp, hoặc ít nhất là linh hoạt hơn), nhưng sau đó tôi khuyên bạn nên sử dụng ~/.bash_profilethay thế.

~/.bashrckhông tự động bắt nguồn khi mở một cửa sổ shell mới, và ~/.bash_loginchỉ có nguồn gốc nếu không ~/.bash_profilecó mặt.


1
Tôi luôn lấy .bashrc từ .bash_profile của mình để tôi không phải nhớ cái nào được gọi từ đâu.
CajunLuke

@CajunLuke Tôi làm một cái gì đó khá giống nhau: github.com/gerryvdm/dotfiles
Gerry

Nếu sửa đổi Trường Thư mục làm việc của Thư mục làm việc không có hiệu lực, có lẽ bạn cần phải chuyển Lệnh từ Lệnh Command ra thành Đăng nhập shell Vỏ ( nguồn ).
duozmo
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.