เมื่อเร็ว ๆ นี้ฉันทำงานกับ JS และฉันก็กระตือรือร้นกับภาษานี้มาก ฉันรู้ว่ามีnode.jsสำหรับรัน JS ที่ฝั่งเซิร์ฟเวอร์ แต่มีเชลล์ที่ใช้ JS เป็นภาษาสคริปต์หรือไม่ หากสิ่งนั้นมีอยู่จริงมันใช้งานได้และมั่นคงอย่างไร?
เมื่อเร็ว ๆ นี้ฉันทำงานกับ JS และฉันก็กระตือรือร้นกับภาษานี้มาก ฉันรู้ว่ามีnode.jsสำหรับรัน JS ที่ฝั่งเซิร์ฟเวอร์ แต่มีเชลล์ที่ใช้ JS เป็นภาษาสคริปต์หรือไม่ หากสิ่งนั้นมีอยู่จริงมันใช้งานได้และมั่นคงอย่างไร?
คำตอบ:
สิ่งนี้เป็นที่พึงปรารถนาสำหรับคุณหรือไม่?
// 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('..');
ถ้าเป็นเช่นนั้นShellJSน่าสนใจ
การใช้งานแบบพกพา (รวมกับ Windows) ของคำสั่งเชลล์ Unix ที่ด้านบนของ Node.js API
ฉันไม่แน่ใจว่าสิ่งนี้สามารถใช้เป็นเชลล์การเข้าสู่ระบบแบบเต็มได้หรือไม่ (อาจจะมีบางห่อ?)
คุณสามารถโต้แย้งว่ามันไม่ใช่เปลือกหอย แต่คุณรู้จักTermKitหรือไม่? มันทำจาก Node.js + Webkit คุณสามารถใช้ JS เพื่อขยายมัน (ฉันเดา); ภาษาของเชลล์ยังคงเป็น Bash (-ish)
cmd arguments
ซินแท็คซ์ ตัวอย่างเช่นpsh
เพิ่มไวยากรณ์ดังกล่าวให้กับภาษา Perl จากความเข้าใจของฉันดังนั้นจึงดูเหมือนเป็นเชลล์ทั่วไปgnp.github.io/psh อาจมีตัวอย่างเคาน์เตอร์ แต่ฉันยังไม่พบ
sed({i:1}, 'BUILD_VERSION', 'v0.1.2', file)
แทน น่าจะดีกว่าถ้าใช้ฟังก์ชั่น async ด้วยการรอดังนั้นการขนานจะเร็วกว่า
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 หรือระบบที่ใช้เดเบียนอื่น ๆ คุณสามารถติดตั้งแรด (จาก 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 ===
ดังนั้นการเรียกทั้งแรดหรือjsจะให้เชลล์ JavaScript แก่คุณ
แก้ไข (2014-06-30):
แรดเป็นสิ่งที่ดีในการทดสอบโค้ดจาวาสคริปต์ในไฟล์อย่างรวดเร็ว แต่มันไม่ใช่เชลล์เชิงโต้ตอบดังนั้นจึงไม่รองรับรูปแบบการแก้ไข readline ของ GNU สำหรับการทำงานแบบโต้ตอบคุณอาจต้องการnodejs
: บน sudo apt-get install nodejs
Ubuntu สิ่งนี้ควรจัดเตรียมjs
เชลล์แบบโต้ตอบมากขึ้น(เรียกใช้คำสั่งjs
) ซึ่งคุณสามารถแก้ไขบรรทัดและประวัติการเรียกคืนด้วยปุ่มลูกศรขึ้น / ลง สำหรับรายการตัวเลือกที่ยาวขึ้นดู https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells
ใน Chrome และ Firefox ถ้าคุณกด F12 มันจะแสดงเครื่องมือสำหรับนักพัฒนา ตรงนั้นคุณจะพบแท็บชื่อคอนโซลซึ่งคุณสามารถพิมพ์และทดสอบสคริปต์ JavaScript มันมีการเติมเต็มโค้ดและคุณสมบัติอื่น ๆ ด้วย
bash
หรือzsh
(ฯลฯ )