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 rc
tệp shell của bạn ( ~/.bashrc
hoặc ~/.zshrc
hoặc bất cứ thứ gì bạn sử dụng):
alias foo='echo "$(whoami)@$(hostname):$PWD"'
PWD
là trong mũ nhưng hostname
và whoami
khô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!
$PWD
lạ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?
pwd
chạ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ơihost
có thể là tên DNS hoặc bí danh~/.ssh/config
)