오류가 발생하기 쉬운 중첩 및 이스케이프 구문이 더 쉽고 적기 때문에 $(...)
이전 명령 보다 더 현대적인 명령 대체 구문이 선호 된다는 것을 이해하고 `
있습니다.
또한 /bin/sh
현대적인 사용에서 대부분의 스타일 쉘은 $(…)
다음을 지원 하는 것으로 보입니다 .
- 세게 때리다
- 재 (따라서 BusyBox이므로 대부분의 임베디드 Linux)
- 대시
- FreeBSD / bin / sh
그리고 $(…)
IEEE 1003.1에 의해 지정됩니다.
그래서 나는 두 가지 매우 관련된 질문이 있습니다.
- 스크립트를 실행해야하는 특정 오래된 시스템을 모르는 경우 쉘 스크립트의 새로운 개발에서`를 사용해야 할 이유가 있습니까?
- 유닉스 프로그래밍 학생들에게 단순히 글을 쓰도록 지시하지 말아야 할 이유가 있습니까? 다른 개발자의 셸 스크립트를 읽을 때 발생할 수있는 쓸모없는 변형으로 만
$(...)
논의하십시오`
(그리고 실제로 오래된 시스템 또는 비표준으로 작업하는 경우 필요할 수 있습니다) 몇 가지 이유)?
$()
-shift + 4,9, shift + 0-5 키 누름;
`...`
. Bourne 쉘에서만 이전 버전으로 이식 할 수 있습니다 (Tourson 쉘에서 이전 버전으로 이식 할 수있는 Bourne 쉘과^
동일|
). 그러나(t)csh
그렇지 않은 점에 유의하십시오 (그러나$(...)
그것들을 사용하거나 가르치는 것은별로 중요 하지 않습니다 ).