답변:
이것이 당신에게 바람직하게 보입니까?
// Replace macros in each .js file
cd('lib');
ls('*.js').forEach(function(file) {
sed('-i', 'BUILD_VERSION', 'v0.1.2', file);
sed('-i', /.*REMOVE_THIS_LINE.*\n/, '', file);
sed('-i', /.*REPLACE_LINE_WITH_MACRO.*\n/, cat('macro.js'), file);
});
cd('..');
Node.js API 위에 Unix 쉘 명령의 이식 가능한 (Windows 포함) 구현.
그래도 이것이 완전한 기능을 갖춘 로그인 쉘로 사용될 수 있는지 확실하지 않습니다. (어쩌면 약간의 포장이 있습니까?)
쉘이 아니라고 주장 할 수 있지만 TermKit 을 알고 있습니까 ? Node.js + Webkit으로 만들어졌으며 JS를 사용하여 확장 할 수 있습니다 (추측). 쉘 언어는 여전히 Bash (-ish)입니다.
cmd arguments
구문을 따르지 않기 때문에이 쉘을 실제로 고려하지 않습니다 . 예를 들어 psh
내 이해에서 펄 언어에 이러한 구문을 추가하여 일반적인 쉘처럼 보입니다. gnp.github.io/psh 카운터 예제가 있지만 아직 찾지 못했습니다.
sed({i:1}, 'BUILD_VERSION', 'v0.1.2', file)
대신 사용할 수 있습니다 . await와 함께 비동기 함수를 사용하는 것이 좋으므로 병렬이 더 빠릅니다.
Mozilla INC는 javascript
쉘을 제공합니다 : Introduction_to_the_JavaScript_shell 참조
$ js
js> str = "welcome on *nix side"
"welcome on *nix side"
js> str.indexOf("nix");
12
js>
테스트 목적으로 사용했기 때문에 문제가 발견되지 않았습니다.
js
패키지로 제공됩니다.
Ubuntu 또는 다른 데비안 기반 시스템 인 경우 rhino를 설치할 수 있습니다 (Mozilla.org에서).
sudo apt-get install rhino
대안을 통해 js를 제공합니다.
=== /usr/bin/js is a symlink... following it
lrwxrwxrwx 1 root root 20 Nov 21 08:54 /usr/bin/js -> /etc/alternatives/js
=== /etc/alternatives/js is a symlink... following it
lrwxrwxrwx 1 root root 14 Nov 21 08:54 /etc/alternatives/js -> /usr/bin/rhino
=== /usr/bin/rhino is owned by package: rhino ===
따라서 rhino 또는 js를 호출 하면 JavaScript 쉘이 제공됩니다.
편집 (2014-06-30) :
rhino 는 파일에서 일부 자바 스크립트 코드를 빠르게 테스트하는 것이 좋지만 대화식 쉘이 아니기 때문에 GNU readline 스타일의 편집을 지원하지 않습니다. 대화식 작업의 경우 다음을 선호 할 수 있습니다nodejs
: Ubuntu / debiansudo apt-get install nodejs
. 위 / 아래 화살표 키를 사용하여 행을 편집하고 히스토리를 호출 할 수있는대화식js
쉘 (명령을 사용하여 호출)을제공해야js
합니다. 더 많은 옵션 목록은 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells를 참조 하십시오.
Chrome 및 Firefox에서 F12를 누르면 개발자 도구가 나타납니다. 거기에는 JavaScript 스크립트를 입력하고 테스트 할 수있는 console이라는 탭이 있습니다. 코드 완성 및 기타 기능도 있습니다.
bash
or zsh
등에 대한 대안에 대해 이야기하지 않습니다