Tôi chạy trên nhiều tập lệnh shell có các biến trong tất cả các chữ cái và tôi luôn nghĩ rằng có một sự hiểu lầm nghiêm trọng với điều đó. Sự hiểu biết của tôi là, theo quy ước (và có lẽ bởi sự cần thiết từ lâu), biến môi trường là trong tất cả các mũ.Sửa đúng cách viết hoa chữ viết của Bash và shell
Nhưng trong môi trường kịch bản hiện đại như Bash, tôi luôn ưu tiên quy ước tên thường dùng cho các biến tạm thời và các trường hợp viết hoa chỉ cho các biến được xuất (ví dụ: môi trường). Ví dụ:
#!/usr/bin/env bash
year=`date +%Y`
echo "It is $year."
export JAVA_HOME="$HOME/java"
Điều đó luôn là việc tôi thực hiện. Có bất kỳ nguồn có thẩm quyền nào đồng ý hoặc không đồng ý với cách tiếp cận này, hay nó hoàn toàn là vấn đề về phong cách?
+1. Điểm tốt về việc ghi đè tình cờ.Tôi quên đề cập đến, nhưng bây giờ bạn đề cập đến nó, tôi nghĩ rằng tôi quyết định sử dụng chữ thường vì tôi đọc hoặc nghe nói về vấn đề đó. – JasonSmith
Tôi nghĩ lý do chính để sử dụng tên biến hoa là để tránh xung đột với lệnh shell. Gần đây chúng tôi đã có tên máy chủ của một trong các máy chủ của chúng tôi vô tình thay đổi thành '=' bởi vì tập lệnh được sử dụng biến 'tên máy chủ'. – ThisSuitIsBlackNot
@ ThisSuitIsBlackNot Bỏ qua mã crappy, các biến được bắt đầu bằng một đồng đô la khi được mở rộng và được sử dụng ở một nơi mà chúng không thể bị nhầm lẫn với tên lệnh khi chúng không. Rõ ràng, làm hostname = moo là sẽ đất bạn gặp rắc rối. Không phải vì bạn đang sử dụng "tên máy chủ" thấp hơn, nhưng vì bạn không sử dụng đúng cú pháp gán. Nhiệm vụ được thực hiện với hostname = moo, không có dấu cách. Giả sử mã đúng, bạn không cần phải lo lắng về các tên biến xung đột với tên lệnh. – lhunath