問題タブ [expansion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
102439 参照

base64 - Base64:スペース使用量の最悪の増加は何ですか?

サーバーがbase64文字列を受信し、変換する前にその長さを確認したい場合、たとえば、最終的なバイト配列を常に16KBにすることを許可したいとします。Base64文字列に変換した場合(文字ごとに1バイトを想定)、16KBバイトの配列はどのくらい大きくなる可能性がありますか?

0 投票する
2 に答える
2267 参照

bash - Bashパラメーターの拡張

次のロジックを使用するスクリプトがあります。

これはそのままで問題なく動作します。ただし、マニュアルの「シェルパラメータ拡張」セクションを読むと、bashこれは1つのステップで実行できるはずです。しかし、そのやり方に頭を悩ませることはできません。

私はもう試した:

そしてそれらをネストするいくつかの方法がありますが、私が知る限り、ネストは許可されていないようです。

私はすでに実用的な解決策を持っていることを認識していますが、これが可能かどうか本当に興味があります。三項演算子を使えば簡単なことですが、bashにあるとは思いません。

これが可能であれば、if / else構文を使用せずに、シェルパラメーター拡張機能の任意の組み合わせのみを使用して、このように見える2ステップのプロセスを実行するロジックを確認したいと思います。

ありがとうございました。


elderarthisの編集:

スクリプトの残りの部分は次のとおりです。

私は自分自身に対する健全性チェックをしたいACTION=echoので、引数を渡すと実際に削除が行われます($ {ACTION}を無効にすることで)。引数を渡さないとエコーが残ります。

そして私はTIMTOWTDIを知っています。シェルパラメータ拡張セクションの内容だけで実行できるかどうかを確認しています:-)


ミケルのための編集:

最後はを持っている必要がACTION=''あるため、空白行/null値を返します。

0 投票する
2 に答える
4012 参照

windows - Windows 7 PATH 環境変数の展開

Windows 7 では、PATH 環境変数を次のように設定します。

ログアウトしてログインし、コマンド プロンプトを起動すると、M2_HOME を除くすべての環境変数が適切に展開されます。PATH 環境変数の編集ウィンドウを表示し、編集せずに [OK] をクリックすると、コマンド プロンプトを開くと、M2_HOME 変数が適切に置き換えられ、ログアウトするまでそのままになります。

私はこれを理解していません。これが定義順序の問題であったとしても、M2_HOME はアルファベット順で PATH の前に表示されます。どうしたの?

0 投票する
3 に答える
2459 参照

bash - 変数展開なしのbashタブ補完?

これらの変数が my で定義されているとしましょうbashrc:

コマンドラインで変数を使用すると、変数vim $i/edit_TABが展開され、コマンドラインへの入力がvim /www/productX/subdomain_x/cgi-bin/internal/edit_(現在のサイトに関係なく)なりTABTAB、可能な補完が得られます。

機能は問題ありません。変数の値だけでなく、毎回完全なパスを表示するのが煩わしい場合があります。

機能を損なうことなく、コマンド ラインで bash 変数を展開しない方法はありますか?
これを行っているのはbashの補完ですか?

望ましい結果は、$i(視覚的に) その値に展開しないか$i、フル パスではなく相対パスに展開することです。

0 投票する
7 に答える
4843 参照

bash - シーケンスの展開とbashの変数

seq番号が変数の場合、Bashの組み込みシーケンス(つまり、seqを使用しない)に問題があります。たとえば、これは機能し、私を印刷します1 2 3:

でも、これ :

失敗して私を印刷する{1..3}のみ

これはZSHで機能し、カウンターを作成するための代替手段があることはわかっていますが、これがバグなのかブレース拡張機能なのか疑問に思っています。

0 投票する
2 に答える
851 参照

ruby - #{} によるルビ式展開は二重展開を行いますか?

さて、意図を明確にするための提案に従って、私は質問を言い直しました。この例が明確であることを願っています。

したがって、同じフォーマットなどを繰り返す必要なく、さまざまな場所で使用できるさまざまなデバッグ関連の文字列を用意するという考え方です。

とにかく、これはそれほど重要ではなく、Ruby をよりよく学ぼうとする試みにすぎません。

気楽に行き、

-ダニエル

0 投票する
2 に答える
1308 参照

bash - bashのforループでファイル名の拡張を防ぐ方法

このようなforループでは、

入力ファイルの1つに、のようなエントリが含まれている*a場合は、「a」で終わるファイル名を指定します。

このファイル名の拡張を防ぐ簡単な方法はありますか?

複数のファイルを使用するため、グロブ(set -o noglob)は適切なオプションではありません。catの出力をフィルタリングして特殊文字をエスケープすることもできるはずですが、

まだ*a拡大を引き起こしますが

私に与えます\*a(バックスラッシュを含む)。[これは別の質問だと思いますが]

0 投票する
1 に答える
662 参照

bash - bash: 変数の展開

環境変数の.bashrc先頭に簡単に追加できるように、関数を追加しようとしています。$PWD関数が 1 つの引数、つまり作業ディレクトリを先頭に追加する変数の名前を取るようにしたいと考えています。なんかこんなこと考えてる…

私がやろうとしていることはbashで可能ですか?

0 投票する
2 に答える
1520 参照

linux - シェルスクリプトの変数にワイルドカードを保存し、実行時に評価/展開します

以下のスクリプトの実行に問題があります (win 7 の Cygwin で気をつけてください)。それを「myscript.sh」と呼びましょう。実行すると、次のように入力します。

yearmonth: 2011-03
daypattern: 2{5,6,7}
logfilename: error*
query: WARN

私が得る出力は次のとおりです。

cat: /2011-03/2{5,6,7}/error* そのようなファイルのディレクトリは存在しません。

ただし、daypattern=25 OR daypattern=26 などと入力すると、スクリプトは機能します。また、もちろん、シェル自体にコマンドを入力すると、ワイルドカードが期待どおりに展開されます。しかし、これは私が望むものではありません。ユーザーが必要に応じて式を入力するように促し、後でスクリプトでこれらのコマンドを実行できるようにしたいと考えています。

これがどのように可能になるかについてのアイデアはありますか?

あなたの助けに感謝します。