Cách ẩn tên máy tính và tên người dùng trong dấu nhắc lệnh của thiết bị đầu cuối


62

Làm thế nào tôi có thể ẩn tên người dùng và máy tính trong dấu nhắc lệnh thiết bị đầu cuối?

Trong Terminal nó nói

Last login: Mon Jan 13 00:00:14 on ttys000
Whatever:~ UserName$ 

Có thể chỉ hiển thị các thư mục hiện tại và $ký?


1
Bạn có ý nghĩa gì khi hiển thị thư mục hiện tại ? Thư mục hiện tại đã được hiển thị sau :. BTW: Tôi đã thay đổi tên máy tính trong Tùy chọn hệ thống -> Chia sẻ thành MBP. Bây giờ lời nhắc đăng nhập của tôi rất ngắn:mbp:~ matt$
gentmatt

Câu trả lời:


91

Thay đổi lời nhắc của bạn trong tệp ~ / .bashrc. Ví dụ bạn yêu cầu sẽ là:

export PS1="\W \$"

Nó sẽ dẫn đến thư mục hiện tại bạn đang được hiển thị cộng với $ cho lời nhắc thông thường và # nếu bạn đã root. Kiểm tra hướng dẫn này để biết thêm ví dụ về những gì bạn có thể hiển thị trong lời nhắc của mình.

Biên tập:

Theo một trong những ý kiến ​​dưới đây, bạn có thể cần lấy nguồn ~/.bashrctừ của bạn ~/.bash_profilehoặc thậm chí đặt mã này vào ~/.bash_profilethay thế. Bạn có thể đọc bài viết này để được giải thích rõ hơn về việc sử dụng tập tin nào.


Tôi có hai câu hỏi vì tôi không có nhiều kinh nghiệm làm việc trong thiết bị đầu cuối :). 1) Tại sao bạn viết ~/.bashrc? Tôi tìm thấy tập tin này nằm ở /private/bashrc. 2) Tôi không quản lý để chỉnh sửa tập tin vì nó bị khóa. Tôi đã thử thay đổi quyền mà không thành công.
gentmatt

2
/etc/bashrclà tập tin toàn cầu cho tất cả người dùng, ~/.bashrclà của riêng bạn. Các định nghĩa trong ghi đè của riêng bạn bất cứ điều gì được định nghĩa trong /etc/bashrc.
nohillside

1
tập tin bashrc là tập tin tài nguyên bash của bạn. Nơi bạn có thể tùy chỉnh lời nhắc, đặt bí danh, xuất biến. Những thứ thuộc về bản chất đó. Giống như patrix đã nói, các tệp / etc / bashrc và / private / bashrc có tài nguyên trên toàn hệ thống. Vì vậy, một nơi nào đó trong / etc / bashrc là PS1 xuất và nếu bạn chỉnh sửa tệp bashrc của riêng bạn nằm ở ~ / .bashrc và xuất PS1 của riêng bạn thì trên tài khoản của bạn, dấu nhắc lệnh sẽ khác. Nếu bạn muốn nó thay đổi cho tất cả người dùng, bạn phải chỉnh sửa / etc / bashrc bằng lệnh sudo.
CaldwellYSR

2
cho bất cứ ai vẫn đang xem câu trả lời này .. bạn có thể cần phải đặt nó vào ~ / .bash_profile Sau đó chạy "source ~ / .bash_profile" hoặc chỉ cần mở một thiết bị đầu cuối mới.
Chris

xuất PS1 = '[\ h: \ W \ u \ $' để hoàn tác thao tác này nếu bạn muốn sau này.
Boldijar Paul

16
echo "export PS1='$ '" >> ~/.bash_profile
. ~/.bash_profile

Điều này sẽ để lại $như là một dấu nhắc. Nếu bạn muốn khôi phục lời nhắc cũ, bạn sẽ cần chỉnh sửa .bash_profile để xóa dòng "export ..." đó.


Điều này hoạt động như một bùa mê trong bash shell trong CentOS 7
Santosh Kumar Arjunan

14

Tôi đã có một vấn đề tương tự với điều này nhưng ban đầu nó không hoạt động.

Điều này có thể là do tôi không sudo nhưng cách này cũng hoạt động tốt.

  1. Mở các tùy chọn trong thiết bị đầu cuối (trên cùng bên phải)
  2. Sau đó đi vào tab shell
  3. Sau đó sao chép / dán lệnh export PS1="\W \$"; clear;
  4. Sau đó khởi động lại thiết bị đầu cuối và sẽ hoạt động

nhập mô tả hình ảnh ở đây


Đơn giản nhất :).
Huỳnh Inc

Đây là tốt nhất cho các giải pháp tạm thời.
Tarik

11

Kiểm tra hướng dẫn này về cách thay đổi dấu nhắc bash của bạn. Một phiên bản rất ngắn (chỉ tên người dùng và không có đường dẫn hiện tại): PS1="\u$ "

Kết quả: myusername$ cat something.log


Nó hoạt động, bây giờ vấn đề là nó sẽ không lưu dấu nhắc bash mới. Nó sẽ hiển thị cái cũ sau khi tôi tắt máy mac. Tại sao?
Thứ Sáu

2
Bạn đã đặt biến trong tệp sau : /Users/<yourusername>/.bash_profile?
timbooo

2

Chỉnh sửa ~ / .bash_profile để lưu các thay đổi của bạn vào dấu nhắc.

sudo nano ~/.bash_profile

Cuối cùng, thêm các thay đổi của bạn.

# Change prompt
export PS1="\W \$ "

Thoát, lưu thay đổi. Nhấn enter để xác nhận tên tập tin. Chạy nguồn để xem sự thay đổi.

source ~/.bash_profile

Cảm ơn, điều này đã làm việc tốt cho tôi, sử dụng OSX 10.12 Sierra.
Edvard Haugland

Tại sao nên sử dụng sudo?
dan

0

Tạo / Chỉnh sửa tệp .bash_profile hoặc root của bạn:

sudo vim ~/.bash_profile

và thêm dòng này

export PS1="\W$: "

Không gian sẽ cung cấp cho bạn một số không gian thở trong dấu nhắc lệnh. Sau khi sửa đổi, dấu nhắc lệnh của bạn sẽ trông như thế này:

~$: 

0

Đặt DEFAULT_USERtrong ~/.zshrctệp để tên người dùng thông thường của bạn. Bạn có thể nhận được giá trị tên người dùng chính xác của mình bằng cách thực hiện whoamitrong thiết bị đầu cuối. Một cái gì đó như thế này:

export DEFAULT_USER=username

0

xuất PS1 = "[\ 033 [01; 32m] \ W \ $ [\ 033 [00m]"

\ W sẽ cung cấp cho bạn thư mục hiện tại (\ w để bao gồm cả đường dẫn). Dấu ngoặc đặt mã màu. Vì vậy, điều này đặt thư mục hiện tại màu xanh lá cây, và sau đó đặt lại màu thành màu trắng sau lời nhắc.


-3

Của tôi là: PS1 = "\ W [\ 033 [32m] \ $ (parse_git_branch) [\ 033 [00m] $"


Chúng tôi đang tìm kiếm câu trả lời dài cung cấp một số giải thích và bối cảnh. Đừng chỉ đưa ra một câu trả lời một dòng; giải thích tại sao câu trả lời của bạn là đúng, lý tưởng với trích dẫn. Câu trả lời không bao gồm giải thích có thể được gỡ bỏ.
Tetsujin

Xóa, tôi không quan tâm tôi chỉ cố gắng giúp đỡ!
Carlos
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.