복잡한 쉘 명령에 텍스트 출력 구문 분석이 포함될 때 항상 어색함을 느낍니다.AWK. 기본적으로 구조화된 데이터를 텍스트로 변환한 다음 텍스트를 다시 구문 분석하여 구조화된 데이터를 얻습니다.
전원 공급 장치 하우징셸 명령 간에 텍스트만 전송하는 대신 입력된 개체를 전송할 수 있도록 하여 이 문제를 방지하는 Windows 셸입니다.
텍스트 기반이 아닌 개체 기반의 Unix 셸(예: PowerShell)이 있습니까?
답변1
아니요, 그 반대가 사실입니다. 스푼^H^H^H구조화된 데이터가 없습니다. 그냥 말이에요.
유닉스 철학의 상당 부분은 텍스트를 출력하고 텍스트를 입력으로 받아들이는 아이디어에 기반을 두고 있습니다. "를 읽어 보는 것이 좋습니다.유닉스 프로그래밍의 예술”, 이에 대한 좋은 설명이 있습니다.
오해하지 마십시오. 나는 귀하의 관점을 이해하고 귀하가 말하려는 내용을 알고 있습니다. Ruby, Python용 대화형 인터프리터 등 셸로 사용할 수 있는 것들이 있지만 기본 작업에는 Bash만큼 사용자 친화적이지 않습니다. 예를 들어 디렉터리를 변경해 보세요.
더욱이, 셸에서 개체를 사용하여 작업하는 것이 전부는 아닙니다. 너의 것뿐이라면껍데기이것을 지원하면 Unix에서는 당황하게 될 것입니다. grep, awk, sed 등과 같은 모든 표준 Unix 텍스트 조작 도구를 변경해야 합니다.
몇 년 전에 누가 이런 걸 만들려고 했던 것 같은데, 이름도 기억나지 않고 오랫동안 들어본 적도 없습니다. 이륙하지 않을 수도 있습니다.
답변2
실제로 '라는 프로젝트가 있습니다.파시Mono 위에 PowerShell을 구현하는 것을 목표로 하고 있지만 중단된 것 같습니다.
답변3
PowerShell은 2016년에 오픈소스로 공개되었습니다. 그 이후로 점점 더 다중 플랫폼이 되었습니다. 소스 코드는 다음에서 확인할 수 있습니다.GitHubUNIX 계열 시스템의 많은 설치 패키지에서도 마찬가지입니다.
답변4
나는 해석된(또는 컴파일된) 스크립트를 여러 개 작성한 다음 이를 인터프리터의 셸에서 호출하여 원하는 경우 개체 등을 반환하거나 유지함으로써 대부분의 작업을 수행할 수 있다고 생각합니다.
최소한 Ruby, Perl, Python, Haskell(GHCi 등), JavaScript(node.js 등), Matlab 및 기타 언어를 사용하여 이 작업을 수행할 수 있습니다.