Theo hiểu biết của tôi, $(...)
cú pháp thay thế lệnh hiện đại hơn được ưa thích hơn `
cú pháp dựa trên cơ sở cũ , do cú pháp lồng và thoát dễ dàng hơn và ít bị lỗi hơn.
Hơn nữa, có vẻ như hầu hết các /bin/sh
kiểu vỏ trong hỗ trợ sử dụng hiện đại $(…)
:
- bash
- tro (và do đó là BusyBox, vì vậy hầu hết nhúng Linux)
- dấu gạch ngang
- FreeBSD / thùng / sh
Và $(…)
được chỉ định bởi IEEE 1003.1.
Vì vậy, tôi có 2 câu hỏi rất liên quan:
- Có bất kỳ lý do để sử dụng `trong phát triển mới của các kịch bản shell trừ khi bạn biết về một hệ thống cũ cụ thể mà tập lệnh sẽ cần phải chạy trên đó không?
- Có lý do nào để không dạy sinh viên lập trình UNIX chỉ viết
$(...)
và`
chỉ thảo luận như một biến thể lỗi thời mà họ có thể gặp phải nếu họ đang đọc các tập lệnh shell của nhà phát triển khác (và có thể cần nếu họ đang làm việc với một hệ thống thực sự cũ hoặc không đạt tiêu chuẩn đối với một số lý do)?
$()
- shift + 4,9, shift + 0 - 5 lần nhấn phím;
`...`
. Nó chỉ dành cho tính di động ngược với vỏ Bourne (giống như vỏ Bourne^
(giống như|
) đối với tính di động lùi với vỏ Thomson). Tuy nhiên,(t)csh
xin lưu ý rằng không có$(...)
(nhưng cũng không có nhiều điểm sử dụng hoặc dạy chúng).