問題タブ [variable-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 投票する
2 に答える
88 参照

bash - bash let 変数のデフォルトをユーザー入力にする

インタラクティブとバッチの両方で使用するスクリプトを作成したいと考えています。引数が指定されていない場合、スクリプトはユーザーの入力を求めます。

こことは異なり、変数がすでに引数によって定義されていても、ユーザーは気にする必要はありません。

パラメータ展開を使用して、これを試しました:

...しかし、常にcommand not foundエラーが発生します。

助言がありますか?

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

windows - 奇妙な Windows 10 バッチ互換性の問題

Windows 10 をアップグレードしたばかりですが、作成したバッチ ファイルが完全に機能しません。同じコーディングが Windows 7 でも機能していました。それがコードの一部です。

最初の部分は通常どおり動作します。altyazi.txt は正しい出力を提供します。しかし、list.txt になると、すべての出力がエコーがオフになります。私はこのようなものを見たことがありません。7 では動作しますが、10 では動作しません。

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

awk - AWK - それらの間で等しい値を取得するにはどうすればよいですか? もし... $1== $1?

私はDNA配列のリストを扱っています。同じ名前 ($1) のすべてのシーケンスを取得したいと思います。を使おうと思っていましif ($1 == "$1")た。しかし、これはうまくいきません。

結果ファイル:

脚本:

$1awk コマンドに渡すにはどうすればよいですか?

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

powershell - 一重引用符内で変数を展開する

一重引用符内で展開するにはどうすればよい$pwですか?

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

regex - 正規表現グループとその他の変数の Powershell 展開

正規表現を使用して、ファイル内のテキストを照合および置換しようとしています。キャプチャ グループも使用しています。置換テキストでは、展開したいキャプチャ グループとその他の変数を使用しています。問題は、他の変数の値が数字で始まると、それらが展開され、存在しないキャプチャされたグループとして展開しようとしていると思います。

差し替え前の文章はこちら

Read-Host コマンドの入力として 101 を使用して置き換えた後のテキストを次に示します。

そして、これを使用してテキストを一致させて置き換えます

マーチャントは常に数字なので、ユーザーがマーチャントに 101 のようなものを入力すると、置換テキストは $1101 に拡張されているように見えるため、powershell はもちろん存在しない 1101 番目のキャプチャされたグループを探していると思います。

私はpowerhsellを初めて使用し、構文が少し奇妙で、どうすればよいかわかりません。

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

batch-file - 一貫性のない「コマンドの構文が正しくありません」というエラー

そもそも、私はバッチ ファイルを使用するのに十分なほど怒っていると思いますが、この問題は私の髪を引き裂きます! 以下のバッチ スクリプトは、通常は問題なく動作します。ただし、最初の実行時に「コマンドの構文が正しくありません」というエラーが表示されます。そして、私REMがすべてを出し切るまでこれを行い、それを実行してから、それを解除REMします。その後、魔法のように再び機能し始めます!

REM@echo off. そして、 になるとsed、ただあきらめます。

私は何かが足りないと思います...それが何であるかについてのアイデアはありますか!? (私のビー玉以外にも!)

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

bash - 「/」を使用した bash 変数の展開

while read 行ループの中に、この変数の展開が表示されます${line/device name:}。自分の入力ファイルでスクリプトを実行しようとしましたが、行が出力されるだけです。

その展開が何をしているのか教えてもらえますか?

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

node.js - Windows コマンドラインで env 変数のパーセント展開を防ぐ方法はありますか?

Windows の git bash で次の git コマンドを使用しています。

コミット日 ( %cd) の後にコミット メッセージ ( %s) が表示されます。コミット日は、カラー マーカーで囲まれています:%C(cyan)カラー出力を開始し、カラー出力%Cresetを停止します。

cmdgit bash では問題なく動作します%cd%が、Windows シェルによって現在の作業ディレクトリ ( $PWDbash と同等)に展開されるとうまくいきません。

したがって、そのコマンドを 経由cmdで実行すると、最初の列にコミット日付の代わりに現在の作業ディレクトリが表示されます! ギットバッシュ:

コマンド:

実際、私はcmd自分で直接使用したことはありません.nodejs(0.12)スクリプトを書いているときにこの動作を見つけました。

これは、Windows では when を使用してノードによって実行されますcmd)。

簡単な回避策は、スペースを導入し%cd%て見つからないようにすることです。つまり、

ただし、これにより冗長なスペースが導入されました(以前に別のスペースを削除しまし%sたが、それはまだハックであり、手動の介入が必要です)。

Windows シェルによる拡張を防ぐ方法はありますか?

の使用またはエスケープに関する情報を見つけましたが、ここでは解決策ではありません。%%^%%

理想的な解決策は、冗長な文字を生成せずに bash および cmd と互換性があるか、Windows 用の一般的な UNIX-y コマンドをエスケープして拡張を防止する JavaScript のエスケープ関数 (そのようなエスケープ関数を作成できる場合) のいずれかです。

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

bash - Bash : スペースを含む文字列に一重引用符を追加する

bash の任意のコマンドに引数を変数として渡そうとすると、変数値にスペースが含まれていると、bash によって追加された余分な引用符が表示されます。

ファイル「some file.txt」を作成し、変数 $file に追加しています。$file を使用して、別の変数 $arg に格納し、$file を引用符で囲みます。bashによる変数展開の後に私が望んでいるコマンドは

しかし、エラーが発生し、実際に実行されたファイルは、

なぜこうなった。この場合、bash 変数 expanson はどのように機能しますか?

なぜこれが起こっているのですか?

0 投票する
0 に答える
603 参照

makefile - makefile のネストされた定義

私はメイクファイルの作成に非常に慣れていないため、この質問は些細なことかもしれません。悪いコーディング方法を使用している場合は、指摘していただければ幸いです。

入力変数に基づいてルールを作成する一般的なメイクファイルを作成しようとしています。私の投稿の最後に「最小限の」例があります。

私は2つの問題を抱えています。

  1. 35 行目で、meta_template をインスタンス化します。変数 $(Dirs) が展開され、$(Dirs) の各エントリで meta_template が呼び出されることを期待します。しかし、それは最後から2番目までしか拡大しません。make の結果は次のように終了します。

    make: *** No rule to make target 'Dir03Target01Tag01', needed by 'Dir03'. Stop.

  2. 21 行目では、ショートカット ルールを作成します。これは、すべてのタグを特定の例に前提条件とするルールです。例えば:Dir01Target02: Dir01Target02Tag04 Dir01Target02Tag05

    まず、使用できないことに戸惑いましたが、対応するタグにアクセスする$($$(1)Tags)ために使用する必要がありました。$$($$(1)Tags)(たとえば、Target01Tags に格納されます)。

    Using$(addprefix)は、私が期待したように展開していないようです。つまり、の結果make Dir01Target01は次のとおりです。

    Create Rule Dir01Target01 with Dir01Target01Tag01 Tag02 Tag03

    私が期待していた場所:

    Create Rule Dir01Target01 with Dir01Target01Tag01 Dir01Target01Tag02 Dir01Target01Tag03

編集:質問 2 への回答が見つかりまし$(addprefix $(1)$$(1),$$($$(1)Tags))$$(addprefix $(1)$$(1),$$($$(1)Tags))。これは2回の実行で拡張する必要があるためだと思います。したがって、最初の実行後は$(addprefix Dirxx$(1),$($(1)Tags))残ります。

前もって感謝します。