쉘이 종료로 알려진 쓸모 없는 ( 또는 부분적으로 쓸모없는 ) 명령 을 수행하도록 요청받은 경우 cat hugeregularfile.txt > /dev/null
해당 명령의 실행을 건너 뛸 수 있습니까 ( 또는 더 저렴한 동등한 명령을 실행할 수touch -a hugeregularfile.txt
있습니까)?
더 일반적으로, 쉘이 C 컴파일러와 유사 합니까? 만약 외부에서 관찰 가능한 행동이 추상 기계가 그것을 평가하는 것처럼 소스 코드에서 변환을 수행 할 수 있다는 점입니까?
편집하다
의 Nota 베네는 : 원래 제기로 내 질문은 쉘이 있는지 여부를 물어 제목이 있었다 허용 되지는 여부를하거나 그들이 할 수있는 구현이 존재하는지, 이러한 최적화 작업을 수행 할 수 있습니다. 둘 다 환영하지만 이론보다는 연습에 더 관심이 있습니다.
cat
팅을해도 큰 차이가 있습니다. 셸은 파일이 장치임을 알 수 있지만 신뢰할 필요는 없습니다.
wc
예를 들어). 그러나 내가 아는 한 POSIX는 쉘 최적화에 대한 입장을 취하지 않습니다. 아니면?
ksh
. 그들은 별도의 프로세스가 아니라 하위 셸 환경 에서 포크 절약 최적화를 허용합니다.