3

私は困惑し、愚かだと感じています。これを理解するために、考えられるすべての検索の組み合わせを試しました。簡単に思えますが、javascript を初めて使用するので、例やデモの検索に役立つものは何もありません。Python や Perl スクリプトのようなスクリプトを使用して、単純な Linux コマンドを実行しようとしています。インタープリターは稼働しているので、js についてさらに学習するためのサーバー側の js リソースを探しています。この種のことをブラウザーで実行したい場合に役立つ例をたくさん見つけましたが、ブラウザーを使用したくありません。サイトでこのようなクエリを見つけることができませんでした (ただし、正しい方法を尋ねているわけではありません) ので、これが本当に冗長な投稿である場合は、お気軽に閉じて、正しい方向に向けてください。

4

5 に答える 5

1

node.js'でそれを行うことができますexec

# install node.js (debian/ubuntu)
sudo apt-get install nodejs

# run node.js CLI
node

ここにある例から:

var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { sys.puts(stdout) }
exec("ls -la", puts);

これにより、ディレクトリリストが出力されます。

于 2012-01-08T07:17:47.070 に答える
1

このページで「system()」を探してください。これが出発点となります (申し訳ありませんが、私はまだ SpiderMonkey を実際に使用していません)。

彼らの JSNative 関数 myjs_system() をコンパイルできれば、JavaScript コード内から呼び出すことができると思います。

于 2008-11-19T21:10:35.293 に答える
1

わかりました、私は今、愚かさを感じていません。Windows の .NET Framework に含まれている Jscript と jsc.exe を使用して動作させました。

> var myFileSystemObj = new ActiveXObject("Scripting.FileSystemObject");
> 
> var pathToFileDir = ".";
> var myFolder = myFileSystemObj.GetFolder(pathToFileDir);
> 
> var myEnum = new
> Enumerator(myFolder.Files);
> 
> for
> (;!myEnum.atEnd();myEnum.moveNext()) {
>   print(myEnum.item()) }

これにより、昔のXPで見栄えがよく簡単なディレクトリ内のファイル名が得られます。Linuxでこれを行うための同様の機能はありますか?フラグを使用して Spidermonkey エンジンを再コンパイルしようとしてJS_HAS_FILE_OBJECT=1いますが、エラーが発生するため、これを機能させるために事前にいくつかの読み取りと作業が必要ですが、正しい方向に向かっていると思います。JavaScriptでこれを行う別の方法に関するヒントや提案は大歓迎です(「Nを使用」を超えて、N = python、perl、javaなど...)。

于 2008-11-20T02:32:55.533 に答える
1

Linux の場合、EJScriptにはすぐに使用できるファイル サポートがあることがわかりました。とにかくやりたいことをやらせてくれます。私は頑固なので、引き続き Spidermonkey を File_Object フラグ付きでコンパイルしようとしますが、今のところ、サーバーサイド JavaScript を試してみたいプログラマーには EJScript を推奨することに何の問題もありません。

于 2008-11-21T15:35:42.897 に答える
1

ブラウザを超えてシステムにアクセスすることはできません。Windows でも Linux でも、「js シェル」はブラウザにサンドボックス化されます。ファイル システムやブラウザ以外のアプリケーションへのアクセスはありません。JS は、ブラウザによって解釈されるスクリプト言語です。

ブラウザの外の世界にいくらかアクセスできますが、ActiveX を使用する IE でのみアクセスできますが、それはサンドボックスの外にあり、もはや純粋な JavaScript ではありません。フォーラムを検索しても、ActiveX を使用せずに JavaScript でファイル アクセスについて説明しているドキュメントは見つかりません。ActiveX は、Linux または Firefox では使用できません。

javascript、DOM、およびサンドボックスの詳細については、ウィキペディアを参照してください。 http://en.wikipedia.org/wiki/JavaScript

于 2008-11-19T20:51:51.807 に答える