오늘날 최고의 (휴대용 및 메인 타이어) 쉘 스크립팅 언어는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/881757

  •  22-08-2019
  •  | 
  •  

문제

나는이 질문이 친절하다는 것을 알고있다. 그러나 지난 3-4 년 동안 KSH 및 CSH와 함께 일하고 서로 포팅하는 고통을 겪거나 여러 버전 (레거시 코드로 읽기)에 공통 논리를 적용하는 고통을 겪은 후 새 스크립트를 작성하는 경우 I KSH로 갈 것이지만 선택보다는 강박에서 벗어날 것입니다. KSH/CSH 외에 더 나은 옵션이 있습니까? 또한 Unixes (Solaris/HP/IBM/FreeBSD) 및 Linux에서 휴대 할 수있는 것 (그리고 너무 많이 요구하지 않거나 모든 Linux 풍미를 이해하는 경우).

제안을 기다리고 ...

평화 :) Devang Kamdar

도움이 되었습니까?

해결책

나는 평범한 늙음을 제안합니다 sh, 어디에서나 사용할 수 있습니다.

또한 이식성은 쉘뿐만 아니라 스크립트에 사용되는 다른 명령도 포함한다는 점에 주목할 가치가 있습니다. awk, grep, ps 또는 echo.

다른 팁

당신이 정말로 휴대하기를 원한다면 (쉘 스크립트가 유지 될 수 있다는 것을 모르겠습니다), #!/bin/sh를 지정하고 테스트합니다. 대시 그리고 가능하다면 다른 껍질.

나는 많은 Linux 분포의 기본값이기 때문에 Bash는 현재 가장 넓은 스프레드 쉘이 될 것으로 예상합니다 (Cygwin과 함께 Windows에서도 실행될 수도 있지만 다른 쉘도 마찬가지입니다). 대안은 스크립팅을 위해 쉘 자체를 사용하지 않고 Perl, Python, Ruby, ...와 같은 스크립 언어 중 하나를 사용하는 것입니다.

나는 보통 ksh를 사용합니다. 기능과 이식성 사이의 좋은 타협이라는 것을 알았습니다. 대부분의 Linux 상자와 Solaris에 (또는 호환 가능한 버전을 사용할 수 있습니다) 거기에 있습니다. HP-UX를 사용한 지 얼마되지 않지만 (고맙게도) 그곳에서도 사용할 수 있다고 확신합니다.

지원 해야하는 모든 기계가 현대적인 경우 Bash가 옵션 일 수 있습니다. Solaris 10에는 사본이 함께 제공됩니다. 대부분의 리눅스 머신의 기본값입니다.

가장 낮은 공통 분모는 Bourne (SH)이 될 것이므로 휴대 성이 주요 관심사인지 고려할 가치가 있습니다. 그래도 KSH와 Bash의 더 친근한 기능 중 일부는 누락되었습니다.

스크립팅을 위해 CSH/TCSH를 피할 가치가 있습니다. CSH 프로그래밍은 유해한 것으로 간주되었습니다 노인이지만 여전히 크게 관련이 있습니다.

내 대답은 Perl입니다.

모든 'sh' 'bash'등은 더 우아한 방식으로 할 수 있습니다.

또한 실제로는 더 휴대가 가능합니다. 주어진 버전 Perl은 모든 플랫폼을 매우 일치합니다. Linux, Solaris 및 AIX 분포에는 큰 차이가 없지만이 플랫폼 간의 쉘 스크립트를 포팅하는 것은 진정한 고통입니다.

그리고 그것은 모든 Windows paltforms에서 작동합니다! 백 티크를 피하고 "System ()"을 피하면 스크립트가 실행 가능성이 높습니다.

파이썬! 강화 된 Python 통역사 인 Ipython을 확인하십시오. 또한: UNIX 및 Linux 시스템 관리 용 Python.

휴대용 스크립트를 쓸 수 있으며 재미 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top