[일반적인 스크립팅 조언에 대해서는 다른 답변을 참조하십시오]
이 답변은 명령 줄 프로그램과 그 큰 체인의 사용에 관한 것입니다.
일련의 CLI 프로그램 및 여러 체인을 순서대로 실행하는 경우 bash가 가장 쉽습니다. 펄 은 똑같이 할 수 있지만 언어는 배우기가 훨씬 어렵고 훨씬 더 복잡하며 많은 사람들이 지적한 것처럼 이해하기 쉬운 펄을 작성하는 것은 쉽습니다.
파일과 매개 변수를 반복하는 경우 bash는 쉘에서 프로토 타입을 만든 다음 스크립트에 복사하고 최소한의 오버 헤드로 일부 배열과 루프를 추가 할 수있는 가장 쉬운 방법입니다.
내가 의미하는 것의 예 :
$ cat input.dat | numerical_model source_data ${SRC} grid_size ${GRID_SIZE} param1 ${P1} param2 ${P2} | tee ${OUTPUT} | plotter title ${TITLE} ylabel ${YLABEL} xlabel ${XLABEL} > ${OUTPUT_FIG}
$ cat ${OUTPUT} | stats_cmd bin_size ${BINSIZE} dist_type ${DIST_TYPE} | tee ${OUTPUT_STATS} | plotter plot_type ${PLOT_TYPE} title ${TITLE_STATS} > ${OUTPUT_FIG_STATS}
bash에서는 이러한 매개 변수 중 일부를 몇 번 반복하여 쉽게 감쌀 수 있습니다. 그러나 스크립트가 수십 줄 이상이되면 코드를 읽기가 어려워집니다. --- 30 개의 서로 다른 데이터 플롯에 대해 30 개의 명령 세트 (각각 몇 줄씩)를 상상하십시오.
Perl 및 Python은 루프 및 변수에 대한 구문이 더 깨끗하기 때문에 대형 스크립트에 더 적합 할 수 있지만 bash 명령은 문자열로 생성되고 서브 프로세스로 실행되고 stdin, stdout이 캡처되어야합니다. 수행 할 수 있지만 기본 쉘 환경을 완전히 대체 할 수는 없습니다.
쉘이 더 나은 언어를 가지고 있다면 이것은 모두 피할 것입니다.