Tôi đã mất gần 10 năm sử dụng Linux để đặt câu hỏi này. Đó là tất cả các thử nghiệm và lỗi và lướt web đêm khuya ngẫu nhiên.
Nhưng mọi người không cần 10 năm cho việc này. Nếu tôi chỉ mới bắt đầu với Linux, tôi muốn biết: Khi nào bí danh, khi nào kịch bản và khi nào viết một chức năng?
Trường hợp bí danh có liên quan, tôi sử dụng bí danh cho các hoạt động rất đơn giản mà không tranh luận.
alias houston='cd /home/username/.scripts/'
Điều đó có vẻ hiển nhiên. Nhưng một số người làm điều này:
alias command="bash bashscriptname"
(và thêm nó vào .bashrc
tập tin)
Có một lý do tốt để làm điều đó? Tôi đang rất cố gắng, nhưng tôi thực sự không thể nghĩ ra bất kỳ hoàn cảnh nào mà tôi muốn làm điều đó. Vì vậy, nếu có một trường hợp cạnh mà sẽ làm cho một sự khác biệt, xin vui lòng trả lời dưới đây.
Bởi vì đó là nơi tôi sẽ đặt một cái gì đó vào PATH của tôi và chmod +x
nó, đó là một thứ khác xuất hiện sau nhiều năm thử và sửa lỗi Linux.
Điều này đưa tôi đến chủ đề tiếp theo. Chẳng hạn, tôi đã thêm một thư mục ẩn ( .scripts/
) trong thư mục chính vào PATH của mình bằng cách thêm một dòng vào .bashrc
( PATH=$PATH:/home/username/.scripts/
) của tôi , vì vậy mọi thứ có thể thực thi trong đó tự động hoàn thành.
Nếu tôi cần.
Tôi thực sự không cần điều đó, phải không? Tôi sẽ chỉ sử dụng nó cho các ngôn ngữ không phải là shell, như Python.
Nếu đó là shell, tôi chỉ có thể viết một hàm bên trong giống nhau .bashrc
:
funcname () {
somecommand -someARGS "$@"
}
Như tôi đã nói, tôi đã tìm thấy rất nhiều điều này thông qua thử nghiệm và lỗi. Và tôi chỉ thực sự thấy vẻ đẹp của các chức năng khi máy tính của tôi chết và tôi buộc phải sử dụng máy tính của những người xung quanh khi họ không sử dụng chúng.
Thay vì chuyển toàn bộ thư mục các tập lệnh từ máy tính sang máy tính, cuối cùng tôi chỉ thay thế .bashrc của người khác bằng chính tôi, vì họ thậm chí chưa bao giờ thực hiện một sửa đổi nào.
Nhưng tôi có bỏ lỡ điều gì không?
Vậy, bạn sẽ nói gì với người dùng Linux mới bắt đầu về khi nào bí danh, khi nào tập lệnh và khi nào viết một hàm?
Nếu nó không rõ ràng, tôi cho rằng những người trả lời điều này sẽ sử dụng cả ba tùy chọn. Nếu bạn chỉ sử dụng bí danh, hoặc chỉ sử dụng các tập lệnh, hoặc chỉ sử dụng các chức năng , hoặc nếu bạn chỉ sử dụng các bí danh và tập lệnh hoặc bí danh và các chức năng hoặc tập lệnh và chức năng thì câu hỏi của Wapthis không thực sự nhắm vào bạn.