問題タブ [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.
bash - 振り返りを行うためのBASHのより良い方法は?
やあみんな、bashでピリオドの前を振り返るスマートな方法があるかどうか疑問に思っています
どうにかして私の拡張でこれをすべて行うことができるように思えますか?
powershell - 可変引数を指定して dos コマンドを実行するにはどうすればよいですか
私が実行した場合:
走る。しかし、私が試してみると:
変数が展開されていないため、失敗します。
PowerShell でこのタスクを達成する最も簡単な方法は何ですか?
bash - 「${parameter:-word}」パラメータ展開での引用符の使用
変数が設定されていない場合にパラメータ展開の形式を使用し${parameter:-word}
てデフォルト値を評価する場合、引用符のベスト プラクティスは何ですか?
たとえば、set を使用した Bash シェル スクリプトを想定して-u
(未定義または未設定の変数が評価されたときにエラーを生成するため)、変数に値があるかどうかをテストするには、if [[ -z "$FOO" ]]
?
また
または、他の何か?
bash - 1回のgetopts呼び出しを通過し、1秒で解釈されるようにbashフラグ引数を引用する方法は?
スクリプトnerf
はスクリプトherd
を呼び出し、スクリプトはスクリプトを呼び出しますer
。 に渡す必要のある引数を明示的に受け取るnerf
on フラグを使用します。herd
er
これは以前は問題ではありませんでした。 がコマンド ラインから呼び出されたばかりのnerf
ときherd
は、 -p フラグの引数を単一引用符で囲むことができ、 's によって解釈されることはありませんでしherd
たgetopts
が、代わりにer
'sによって解釈されましたgetopts
。
しかし、最終的に に移動する必要があるフラグで値を生成したer
ので、 で変数を展開する必要があります$file_contents
が、に到達するまではnerf
によって解釈されないようにします。getopts
er
これら 3 つのスクリプトはいずれも変更できます。
上記のマークされた行で単一引用符を使用すると、リテラル文字列 "$er_args" が渡されます。二重引用符を使用すると、フラグは によって直接解釈されherd
ます。二重引用符の中に一重引用符を使用すると、フラグは getopts によって解釈されません。
ここにはエレガントな解決策はないと思いますが、間違っている場合はお知らせください。私が考えることができる唯一の解決策はくだらないです:
- を通じてすべて
er
のフラグを明示的に公開しherd
ます。 er
からコールを削除し、herd
直接 に配置しnerf
ます。- ???
tcl - 複数のステートメントで引数展開 {*} を使用する
引数の展開に tcl を使用{*}
していて、この問題に遭遇しました。
ご覧のとおり、リセット変数が定義されており、 と で評価しeval
てい{*}
ます。
eval
正常に動作している間、次の{*}
ようにエラーをスローしています
次に、変数reset
を次のように変更しました。
set
つまり、2 番目のステートメントを削除すると、コードは正常に動作します。
{*}
1 つのステートメントで正常に動作し、それ以上のステートメントでは動作しないのはなぜですか? または私はここで何が欠けていますか?
bash - echo によるスカラー変数内の bash パラメータ展開
タイトル: スカラー変数内での bash パラメーターの展開
2 つのファイル間の差分を実行する bash スクリプトがあります。diff がある場合は、statement1 と statement2 を出力します。長いので変数に入れますが、echo ステートメントはパラメーターを展開しません。これはbashで実行できますか?
スクリプトは機能しているようです-必要なときに差分を見つけます。ただし、これは出力されるものです。
言ってもらいたい
arrays - zshで配列の要素を展開するには?
zshに配列があるとします
.txt
各要素に追加したい
したがって、出力は
アップデート:
私はこれを行うことができると思いますが、もっと慣用的な方法があると思います:
bash - for ループで任意の glob パターン (スペースを含む) を Bash する
変数に格納されている任意のグロビング パターンを確実に使用する方法はありますか? パターンにスペースとメタ文字の両方が含まれている場合、問題が発生します。これが私の言いたいことです。スペースなしで変数に格納されたパターンがある場合、問題なく動作するようです:
ただし、パターンにスペースを入れるとすぐに、事態は受け入れられなくなります。
明らかに、事前にパターンがわかっている場合は、手動でエスケープできます。
問題は、事前にパターンがわからないスクリプトを書いていることです。ある種のeval
策略に頼らずに、bash に変数の内容をグロビング パターンとして確実に扱わせる方法はありますか?