私はjavascriptで「端末のもの」を構築しています。各コマンドは AMD 形式の個別の .js ファイルであり、すべてが requirejs で読み込まれるという考え方です。
コマンドを次のように呼び出す必要があります。
command -s "string u-l: extra" -g http://domain.com/random.txt -r -a --test fixed
そして、それは次のようなものに変換されます:
command({'-s': 'string u-l: extra', '-g': 'http://domain.com/random.txt', '-r': true, '-a': true, '--test': 'fixed'});
頭の中でさまざまなシナリオを実行しようとしましたが、良い答えが見つかりませんが、競合が発生する可能性があります。
- split() - 余分なスペースがあると、すべてが壊れます
- 正規表現 - 正規表現は毎回同様の文字列を取得することに依存しています。「wget http://code.jquery.com/jquery-1.8.3.min.js」のようなものが必要な場合
- コマンド自体でルールを定義する - 解析を理解する必要があります
- パイピング - パイピングが必要な場合は、間違ったパイプで壊れないようにする方法を見つけなければなりません。つまり、「command -s 'random | pipe' | command2 asd」です。
アイデア/アドバイスをいただければ幸いです。私はこれにこだわっています。