POSIX 쉘 스크립트 및 성능 조정 [닫기]

POSIX 쉘 스크립트 및 성능 조정 [닫기]

요즘 셸 스크립트 성능 튜닝을 알아보고 있는데 POSIX 셸 스크립트 사용이 차단됐는데 그것도 표준일 뿐이지만 표준보다 구현하기가 더 어려운 것 같아요. 이는 고성능을 위해 맞춤화되고 조정되었으며 궁극적으로 설계되었습니다. POSIX 쉘 스크립팅에 도움이 되는 스레드를 생성하는 데 당신이 도움을 줄 수 있다고 생각했습니다. 내 질문은 다음과 같습니다

  1. POSIX 쉘 스크립트는 다른 쉘 프로그래밍에 비해 성능이 좋습니까?
  2. POSIX 쉘 스크립트로 마이그레이션하는 방법은 무엇입니까?
  3. 내 코드를 POSIX에 노출하는 것은 불가능합니까?
  4. POSIX를 사용하지 않고 고성능을 선호한다면 설명해 주시겠습니까?

답변1

질문

학생들이 bash(예: /bin/sh)를 사용하여 시스템에서 초기 개발을 수행할 때 스크립트에서 이식성 문제에 직면하는 경우가 많습니다. Bash는 POSIX 표준의 모든 기능을 지원하지만 POSIX에서 정의하지 않은 광범위한 확장 기능도 지원합니다. 이러한 "bashism"을 사용하는 스크립트를 작성할 때 /bin/sh가 다른 POSIX 호환 셸일 때 스크립트가 올바르게 실행된다는 보장은 없습니다. Ubuntu 시스템 Nice.harvard.edu에서 /bin/sh는 bash보다 훨씬 빠르게 실행되는 셸인 dash이지만 POSIX 표준에서 지정한 것 이상의 기능은 지원하지 않습니다. 스크립트에 "bashisms"을 사용한 학생들은 마지막 순간에 자신의 스크립트가 nice의 /bin/sh에서 실행되지 않는다는 사실을 종종 발견합니다.

해결책

다음은 이러한 문제를 방지하는 데 도움이 되는 몇 가지 팁입니다.

  • 가능하다면 항상 /bin/sh를 사용하여 Nice에서 스크립트를 개발하세요.
  • 개발 목적으로 개인 시스템에 엄격한 POSIX 셸(예: dash)을 설치하세요.
  • 지정된 기능만 사용여기쉘 스크립트를 개발할 때
  • 보다이 파일"bashism"을 식별하고 교체하는 방법에 대한 팁을 얻으세요.
  • autoconf에 대한 전체 문서('info autoconf.info')를 확인하세요. 좋은 내용이 있습니다."휴대용 쉘" 프로그래밍 섹션

바라보다이것더 많은 정보를 알고 싶습니다.

관련 정보