Làm thế nào tôi có thể tải lại
.bash_profile
từ dòng lệnh ?
Tôi có thể nhận được trình bao để nhận ra các thay đổi .bash_profile
bằng cách thoát và đăng nhập lại nhưng tôi muốn có thể thực hiện theo yêu cầu.
Làm thế nào tôi có thể tải lại
.bash_profile
từ dòng lệnh ?
Tôi có thể nhận được trình bao để nhận ra các thay đổi .bash_profile
bằng cách thoát và đăng nhập lại nhưng tôi muốn có thể thực hiện theo yêu cầu.
Câu trả lời:
Đơn giản chỉ cần gõ source ~/.bash_profile
Ngoài ra, nếu bạn muốn lưu tổ hợp phím, bạn có thể nhập . ~/.bash_profile
alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
. ~/.bash_profile
Chỉ cần đảm bảo rằng bạn không có bất kỳ sự phụ thuộc nào vào trạng thái hiện tại ở đó.
.
lệnh trong trường hợp này là gì?
.
chỉ đơn giản là một bí danh cho source
lệnh.
.
già càng tốt source
.
source
là một triển khai cụ thể của bash.
.
và source
theo nghĩa đen là điều tương tự trong bash. Từ liên kết: " source
là từ đồng nghĩa với dấu chấm / dấu chấm ' .
' trong bash, nhưng không phải trong POSIX sh, vì vậy để tương thích tối đa, hãy sử dụng dấu chấm ."
Đơn giản chỉ cần gõ:
. ~/.bash_profile
Tuy nhiên, nếu bạn muốn nguồn nó tự động chạy khi thiết bị đầu cuối khởi động thay vì chạy nó mỗi khi bạn mở thiết bị đầu cuối, bạn có thể thêm . ~/.bash_profile
vào ~/.bashrc
tệp.
Ghi chú:
Khi bạn mở một thiết bị đầu cuối, thiết bị đầu cuối bắt đầu bash trong chế độ tương tác (không đăng nhập), có nghĩa là nó sẽ nguồn ~/.bashrc
.
~/.bash_profile
chỉ có nguồn gốc từ bash khi bắt đầu trong chế độ đăng nhập tương tác . Điều đó thường chỉ khi bạn đăng nhập tại bảng điều khiển ( Ctrl+ Alt+ F1.. F6) hoặc kết nối qua ssh
.
Bạn cũng có thể sử dụng lệnh này để tải lại ~ / .bash_profile cho người dùng đó. Hãy chắc chắn để sử dụng dấu gạch ngang.
su - username
Tôi thích thực tế là sau khi bạn vừa chỉnh sửa tệp, tất cả những gì bạn cần làm là gõ:
. !$
Điều này nguồn các tập tin bạn vừa chỉnh sửa trong lịch sử. Xem đô la bang là gì trong bash .
cd
. .bash_profile
cd
. Không cần ~
.
cd
- bạn chỉ có thể tải lại từ thư mục bạn hiện đang ở:. ~/.bash_profile
Nếu bạn không nhớ mất lịch sử của thiết bị đầu cuối vỏ hiện tại của bạn, bạn cũng có thể làm
bash -l
Điều đó sẽ rẽ nhánh của bạn và mở ra một quá trình bash con khác. Các -l
tham số nói bash để chạy như một vỏ đăng nhập, điều này là cần thiết vì .bash_profile sẽ không chạy như một vỏ phi đăng nhập, để biết thêm về điều này đọc ở đây
Nếu bạn muốn thay thế hoàn toàn vỏ hiện tại, bạn cũng có thể làm:
exec bash -l
Ở trên sẽ không rẽ nhánh vỏ hiện tại của bạn mà thay thế nó hoàn toàn, vì vậy khi bạn gõ exit
nó sẽ chấm dứt hoàn toàn, thay vì thả bạn vào vỏ trước đó.
Thêm alias bashs="source ~/.bash_profile"
vào tập tin bash của bạn. Vì vậy, bạn có thể gọi bashs
từ lần sau
reset
- dễ nhớ hơn
nếu .bash_profile không tồn tại, bạn có thể thử chạy lệnh sau:
. ~/.bashrc
hoặc là
source ~/.bashrc
thay vì .bash_profile. Bạn có thể tìm thêm thông tin về bashrc
Tôi muốn đăng một câu trả lời nhanh rằng trong khi sử dụng source ~/.bash_profile
hoặc các câu trả lời được đề cập ở trên hoạt động, một điều cần đề cập là điều này chỉ tải lại hồ sơ bash của bạn trong tab hoặc phiên hiện tại bạn đang xem. Nếu bạn muốn tải lại hồ sơ bash của mình trên mỗi tab / shell, bạn cần nhập thủ công lệnh này trong mỗi chúng.
Nếu bạn sử dụng iTerm, bạn có thể sử dụng CMD⌘+ Shift+ Iđể nhập lệnh vào tất cả các tab hiện tại . Đối với thiết bị đầu cuối có thể hữu ích để tham khảo vấn đề này ;
bạn chỉ cần gõ . ~/.bash_profile
tham khảo: /superuser/46139/what-does-source-do
Tôi sử dụng Debian và tôi có thể chỉ cần gõ exec bash
để đạt được điều này. Tôi không thể nói nếu nó sẽ hoạt động trên tất cả các bản phân phối khác.
. .bash_profile
trong khi thư mục nhà của bạn trên Mac sẽ thực hiện công việc. Tương tự như câu trả lời được đưa ra ở trên bởi 7urkm3n.
alias reload!=". ~/.bash_profile"
hoặc nếu muốn thêm nhật ký thông qua các chức năng
function reload! () {
echo "Reloading bash profile...!"
source ~/.bash_profile
echo "Reloaded!!!"
}
. ~/. bash_profile
cũng khôngsource ~/.bash_profile
Tôi đang chạy Sierra và đã làm việc này một thời gian (thử tất cả các giải pháp được đề xuất). Tôi trở nên bối rối nên cuối cùng đã thử khởi động lại máy tính của tôi! Nó đã làm việc
kết luận của tôi là đôi khi thiết lập lại cứng là cần thiết
alias BASHRELOAD=". ~/.bash_profile"
. Nếu bạn làm điều này thường xuyên, bạn có thể chỉ bí danh làbr
.