글쎄, "적어도"가 더 정확할 것입니다. 완벽할 것입니다 ;-) 비슷한 질문이 있었습니다 -*nix용 객체 지향 셸. 나에게는 bash와의 유사성은 문제가 되지 않습니다.
나는 간단한 OOP와 LINQ를 원합니다. 현재는 나만 알고 있다http://www.scsh.net/그러나 구문 때문에 약간 과잉입니다.
예를 들어 제가 의미하는 바를 보여드리겠습니다.
run("ls ./").foreach(it => println(it.filesize))
또는
run("find -r *.jpg") \
.filter(it => it.datetime<today.adddays(-2)) \
.foreach(it => run("gimp ${it.filename}"))
scsh보다 이 "꿈의 껍질"에 더 가까운 것이 있습니까?
내가 왜 물어보나요? 프로그래밍을 많이 할수록 기능적 언어(C++ -> C#+LINQ -> Scala -?-> Clojure)에 더 의지하게 되었고, 어제는 bash에서 간단한 찾기+인쇄 루프를 작성해야 했습니다. 매우 고통스럽습니다. 남자들은 기능적인 모든 것에 쉽게 망가집니다 ;-D.
답변1
rush
비슷해 보입니다. 예를 들어 다음과 같이 쓸 수 있습니다.
processes.filter(:cmdline => /mongrel_rails/).kill
또는
myproj['**/*.rb'].search(/^\s*class/).lines.size
하지만 꽤 보인다죽은. 결국 나는 쉘 작업을 수행하기 위해 (그 반대가 아닌) 스크립트 언어를 사용하기로 결정했습니다."Python을 사용하여 UNIX 명령줄 도구 만들기".
(편집하다rush
s의 개념과는 매우 다르지만 활발히 개발 중인 객체지향 쉘도 있습니다 .oh
.)
편집 2우연히 발견한건데pbs, Python을 사용하여 셸과 유사한 작업을 보다 간단하게 수행할 수 있게 해주는 Python 래퍼.
답변2
LINQ 관련 개체를 직접 작성해야 하지만 bash를 OOP로 확장하는 것은 매우 쉽습니다. 확인하다https://github.com/uudruid74/bashTheObjects