問題タブ [brace-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 に答える
587 参照

bash - echo によるスカラー変数内の bash パラメータ展開

タイトル: スカラー変数内での bash パラメーターの展開

2 つのファイル間の差分を実行する bash スクリプトがあります。diff がある場合は、statement1 と statement2 を出力します。長いので変数に入れますが、echo ステートメントはパラメーターを展開しません。これはbashで実行できますか?

スクリプトは機能しているようです-必要なときに差分を見つけます。ただし、これは出力されるものです。

言ってもらいたい

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

bash - bash ブレース展開の区切り記号/区切り記号を変更する

前提

この質問はすでに存在することを認識していますが、解決策は実際には区切り文字を変更していません。区切り文字を変更する方法があるかどうか、または区切り文字がどこにあるかを誰かが知っているかどうかを知りたいです。


この文字列をプログラムに渡す必要があるとします。これは、プログラムが受け入れるものであるため、コンマで区切られています

版画

私が望む場所

もちろん、これは単純な例にすぎません。


私が試したこと

かなり広範囲に検索しましたが、この区切り記号をどこで探すべきかわからないため、何もありません

また、サブ質問として:

他の質問からのチョロバの回答を使用すると、それを使用してスクリプトに渡そうとするとエラーが発生します。確かに、私は長い間試していませんが

私は試した

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

bash - bash でブレース展開とパラメーター展開を組み合わせることはできません

ブレース展開で $1 $2 $3 をエコーし​​たい。しかし、うまくいきません。

展開の順序は、ブレース展開、チルダ展開、パラメーター、変数と算術展開、およびコマンド置換 (左から右に行われる)、単語分割、およびパス名展開です。

bash のマニュアルによると、ブレース展開はパラメーター展開の前に実行されます。

${1..3}したがって、bash は最初にブレース展開を実行し、それを に変換してからecho $1 $2 $3、パラメーター展開を実行する必要があると思います。

しかし、実際のところ、bash は不適切${1..3}な代用として不平を言っています。何故ですか?

PS: 皆さん、ありがとうございました!すべての回答は素晴らしいものです.しかし、私は思う

Ignacio Vazquez-Abrams の答えは、私が望むものに近いものです。

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

bash - PowerShell で mkdir を使用して複数のサブディレクトリを作成する

ms powershell でこれを行う方法はありますか? (スクリプトなし)

bash のように一度に複数のサブディレクトリを作成したいのですが、powershell で実行すると、次のエラーが表示されます。

行:1 文字:17
+ mkdir a\b\c\d{a,b,c,d}
+ ~
パラメーター リストに引数がありません。
+ CategoryInfo : ParserError: (:) []、ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingArgument**

私は次のすべてを試しました:

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

linux - Bash Brace Expansion in Systemd ExecStart

The following test is in CentOS 7.1.

Create the following file test.service in /usr/lib/systemd/system/

and execute systemctl daemon-reload; systemctl restart test; systemctl status test -l

There is no output of the value as the ${a} does not substitute as the word hello world, until it is changed echo ${a} into

  1. echo $a : Work
  2. echo $${a}: Work

The $$ means a pid of the process in a a bash, but why could the $$ do the trick in ExecStart to probably get the word hello world?

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

bash - evalを使用せずに変数のバインドを使用してbashブレース展開を行うことは可能ですか?

次のスクリプトを検討してください。

このスクリプトの出力は次のとおりです。

望ましい出力は次のとおりです。

目的の出力を生成する1つのソリューションは

残念ながら、このソリューションではeval、可能であれば避けたいものを使用しています。

ブレース展開を使用して目的の結果を得る方法を知っている人はいevalますか?

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

linux - bash ブレース展開について

この投稿を読みました: https://superuser.com/questions/304807/brace-expansion-run-several-commands-instead-of-expanding-on-one-lineeval echoで、拡張方法を試しました。以下の 2 つのコマンドが異なるのはなぜですか?


コマンド 1:

結果 1:


コマンド 2:

結果 2:

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

bash - コマンドを実行するためのパターン展開

次のようなパターンを実行echoまたは展開できることを知っています。同じことをする方法があるかどうか知りたいのですが、コマンドを実行する方法はありますか?mvecho {0..9}{A..Z}

上記の例は機能しませんが、それを実現する方法はありますか (stop、rm、up を個別に実行する)。