Câu trả lời:
Không phải là một lệnh theo như tôi biết, nhưng đây là thứ bạn cần:
echo "$(whoami)@$(hostname):$PWD"
Bạn có thể biến nó thành bí danh bằng cách thêm dòng này vào rctệp shell của bạn ( ~/.bashrchoặc ~/.zshrchoặc bất cứ thứ gì bạn sử dụng):
alias foo='echo "$(whoami)@$(hostname):$PWD"'
PWDlà trong mũ nhưng hostnamevà whoamikhông? Tôi không chắc là tôi hiểu sự khác biệt và tôi nghĩ nó có thể quan trọng.
$PWD. Có rất nhiều biến môi trường khác (như $PS1, phần đầu tiên của dấu nhắc lệnh của bạn). Những người khác đang sử dụng $()cú pháp để sử dụng đầu ra của một lệnh tại chỗ. Đây là một tổng quan cơ bản, ít nhất, về sự khác biệt là gì. Khi bạn bắt đầu tiến sâu hơn vào dòng lệnh, và bắt đầu tạo bí danh và hàm và bash script, đó là thứ bạn sẽ học cách yêu thích. Tôi ước tôi có thể nghĩ về một số điều điên rồ tôi đã làm với điều này!
$PWDlại $(pwd), không nên đầu ra luôn giống nhau? Là cái này tốt hơn cái kia hay đây chỉ là sở thích cá nhân?
pwdchạy thêm một lệnh và tôi (nghĩ) sẽ tốn kém hơn so với truy vấn biến. Trong điều kiện thực tế sẽ không có sự khác biệt thực sự, sử dụng bất cứ điều gì bạn thích.
$(whoami)chạy lệnh whoami và sử dụng đầu ra, và $ PWD chỉ cần lấy một biến môi trường. Giảm bớt các quá trình ít hơn là tốt hơn cho tốc độ và hiệu suất, nhưng trong trường hợp này nó không thực sự tạo ra sự khác biệt. Nếu bạn làm điều printenvđó nên liệt kê tất cả các biến môi trường. Tôi có $ USER, vì vậy tôi có thể sử dụngecho "$USER@$(hostname):$PWD"
echo $(whoami)@$(hostname):$(pwd)? Tại sao bạn cần điều này? Người dùng mặc định SSH / SCP mặc định cho người dùng hiện tại, thư mục làm việc mặc định vào thư mục chính nếu bị bỏ qua. Ít nhất bạn cầnscp file.txt host:(nơihostcó thể là tên DNS hoặc bí danh~/.ssh/config)