問題タブ [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.
vim - vimコマンドで変数を展開するには?
コマンド呼び出しで展開された変数を取得しようとしています。ここに私が持っているものがあります.vimrc
:
:
プロンプトでは、構文は機能している`=flist`
ように見えます (または、少なくともw:
変数では機能していました) が、.vimrc
ファイルでは機能しません — TlistAddFiles には string が渡されるだけ`=flist`
です。
Andrew Barnett と Mykola Golubyev の回答のおかげで、私はこれを手に入れました。もっと良い方法はありませんか?
batch-file - バッチファイル FOR/f 展開
ディレクトリ名を持つファイル ( directories.txt
) があり、それぞれが 1 行にあり、行を展開したい
私のスクリプトでは、スクリプトを実行している実際のユーザー名に。ただし、エコーはラインとまったく同じように出て、%USERNAME%
拡大しません。
エコーには、C:\Documents and Settings\ janco \My Documentsではなく、「C:\Documents and Settings\%USERNAME%\My Documents」が表示されます。
何か案は?
bash - 現在のパスのBash引用(pwd)
PWD
現在のパスにスペースが含まれている場合に変数で発生する最も厄介な問題が発生しました。私のコードは次のようになります。
現在のパスにスペース文字が含まれていない限り、これはうまく機能します。もしそうなら、$(pwd)
に拡張されます
p>
これにより、sed式が台無しになります(余分な引用符が原因):
私は、次のようにpwdを拡張するのに役立たないことに気づきました${PWD//\'/}
。
これをどのように解決できるかについてのアイデアはありますか?
java - テキスト内の変数を置き換える:提案?
Javaの文字列でAntのような変数を展開するための優れたテンプレートエンジンまたは短いコードを探しています。例:
少なくともサポートする必要java.util.Map
がありますが、Bean、再帰的なルックアップ、またはマップ/オブジェクトのリストでのルックアップを処理できるものも歓迎されます。
提案?
[編集]TofuBeerへの返信:ネストなし、内の有効なJava識別子のみ{}
。それ以外の${}
ものは逐語的にコピーする必要があります。単一に拡張する$$
必要があります(表現できるように)。$``. If that's not possible ${dollar}
$
15.00 $
batch-file - DOS バッチで任意の変数をドライブ、パスなどに展開する
渡されたパラメーターを使用してファイルを処理する dos バッチを使用しています。
プロセス.バット:
パラメータがバッチ内のファイル名に展開されていることがわかります: %~n1
. ただし、テキスト ファイルからパラメーターを読み取るようにバッチを書き直すように求められました。
params.txt
だから私はprocess.batを変更しました:
しかし、%~nP2% は機能しません。
私はそれが私を助けることができることを発見しましたfor /f "tokens=*" %%A in (%P1%) do %%~dA
が、それは面倒に見えます.
任意の変数を名前、ドライブ、パスなどに展開する他の方法はありますか?
bash - スペースで変数を展開することによるGrepエラー
""というファイルがありますphysics 1b.sh
。bashで、試してみると
grepは文句を言います:
しかし、私がするとき
正常に動作します。したがって、問題は、grepがスペースを認識するために必要なバックスラッシュを含むように変数が展開されていないことに関係していると思います。これを機能させるにはどうすればよいですか?
bash 3.2、macos10.6を使用します。
編集:
気にしないでください、問題はxがに設定されていること" physics 1b"
でしたが echo $x
、内容を確認しようとすると、bashが前面のスペースを切り落としたため、違いがわかりませんでした。上記の最初の方法は実際に機能します。
bash - レイアウトを壊さずに $command をエコーする方法
私はbashスクリプトで次のことをしようとしています:
動作しますが、エコーによって出力が壊れます (すべての行を 1 列で取得するのではなく、すべてを 1 行で取得します)。
もしそうなら:ssh host ls -lh
CLIで正しい出力とレイアウトが得られます。
変数をエコーするときにレイアウトを保持するにはどうすればよいですか?
perl - case 句の削除: sed regexp での bash 展開: X='a\.b' ; Y=';;' sed -n '/${X}/,/${Y}/d'
ケース句を bash スクリプトから削除しようとしています。句はさまざまですが、大文字と小文字の一致文字列の一部として常にバックスラッシュが含まれます。
私はsedを試していましたが、bashスクリプト内でawkまたはperlワンライナーを使用できました。
編集の対象は簡単で、次のようになります。
バックスラッシュ、セミコロン、またはその両方をエスケープする変数展開に違反しています。「評価」すると、バックスラッシュのエスケープが取り除かれます。そうしないと、セミコロンが追いつきます。そこで、sed内でサブシェル展開を試みました。私が書いたように、これはインタプリタを汚します。セミコロンをさらにエスケープしても効果がないようです。
この:
と
windows - Windowsコマンドインタープリター(CMD.EXE)はどのようにスクリプトを解析しますか?
ss64.comに出くわしました。これは、Windowsコマンドインタープリターが実行するバッチスクリプトの作成方法に関する優れたヘルプを提供します。
しかし、バッチスクリプトの文法、展開する方法と展開しない方法、およびエスケープする方法についての適切な説明を見つけることができませんでした。
これが私が解決できなかったサンプルの質問です:
- 見積もりシステムはどのように管理されていますか?TinyPerlスクリプト
( )を作成foreach $i (@ARGV) { print '*' . $i ; }
し、コンパイルして、次のように呼び出しました。my_script.exe "a ""b"" c"
→出力は*a "b*c
my_script.exe """a b c"""
→出力する*"a*b*c"
echo
内部コマンドはどのように機能しますか?そのコマンド内で何が展開されますか?- なぜ
for [...] %%I
ファイルスクリプトで使用する必要があるのにfor [...] %I
、インタラクティブセッションで使用する必要があるのですか? - エスケープ文字とは何ですか、またどのようなコンテキストでですか?パーセント記号をエスケープする方法は?たとえば、
%PROCESSOR_ARCHITECTURE%
文字通りエコーするにはどうすればよいですか?私はそれがうまくいくことを発見しましたecho.exe %""PROCESSOR_ARCHITECTURE%
、より良い解決策はありますか? - ペアはどのように
%
一致しますか?例:set b=a
、echo %a %b% c%
→%a a c%
set a =b
、echo %a %b% c%
→bb% c%
- この変数に二重引用符が含まれている場合、変数が単一の引数としてコマンドに渡されるようにするにはどうすればよいですか?
set
コマンドを使用するとき、変数はどのように保存されますか?たとえば、set a=a" b
そうすると、echo.%a%
を取得しa" b
ます。ただしecho.exe
、UnxUtilsから使用すると、が得られa b
ます。どうして%a%
違う方法で拡大するのですか?
ライトありがとうございます。