Không được dùng which
, sử dụng type
. Các which
lệnh trong shell mặc định (bash) là một tiện ích bên ngoài không biết về bí danh và hàm. Mặt khác, type
là một tiện ích nội bộ sẽ cho bạn biết liệu đối số của nó là bí danh, hàm, tiện ích tích hợp hay lệnh bên ngoài.
Các which
lệnh được đề cập trong hướng dẫn và hướng dẫn chỉ vì lý do lịch sử - 30 năm trước type
lệnh không tồn tại ở mọi nơi và một số người đã chậm thích nghi.
Để biết thêm chi tiết, bao gồm một cuộc thảo luận về đạn pháo lịch sử và hiện tại, xem Tại sao không sử dụng dịch vụ mà Dùng gì sau đó?
$ type cp
cp is aliased to `cp -i'
$ type mkcd
mkcd is a function
mkcd ()
{
…
}
$ type type
type is a shell builtin
$ type cat
cat is /bin/cat
Trong zsh, bạn có thể sử dụng which
: zsh có cả hai type
và which
như các lệnh tích hợp.
Cũng lưu ý rằng nếu bạn vừa cài đặt hoặc gỡ bỏ một chương trình, trình bao có thể đã ghi nhớ vị trí cũ của nó. Ví dụ: nếu bạn chỉ cài đặt phiên bản chương trình của riêng mình trong một thư mục đi trước các thư mục hệ thống trong $PATH
, shell có thể tiếp tục gọi chương trình đi kèm với hệ thống. Đây chỉ là một vấn đề trong hệ vỏ đã chạy tại thời điểm cài đặt hoặc gỡ bỏ. Để làm mới bộ nhớ của shell với dữ liệu hiện tại, hãy chạy lệnh hash -r
hoặc là hash COMMANDNAME
.
ssh
, có lẽ bạn nên sử dụng một tập tin cấu hình thay thế. Bạn có thể xác định các phím tắt cho tên máy chủ, tên người dùng và các tùy chọn khác trong~/.ssh/config
.