問題タブ [command-substitution]
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 - 二重引用符なしでコマンド置換をグループ化しますか? "" なしの "$()"
次のように、Awk プログラムの生成と を介した実行を含むスクリプトを作成していますawk $(...)
。
生成されたプログラムは最終的にはより複雑になりますが、まずこれが可能であることを確認したいと思います。過去に私がやった
グループ化は驚くべきことではありません。しかし、最初の例 (GNU awk の下では、他のマシンのデフォルトである mawk よりも役立つエラー メッセージが表示されます) は次のようになります。
おそらく、これはawk BEGIN { print "hello!" }
ではなくとして実行されるためawk 'BEGIN { print "hello!" }'
です。強制的$(...)
に 1 つのグループにとどまる方法はありますか? "$()"
プログラムジェネレーターですべての二重引用符をエスケープする必要があるため、使用したくありません。
Crunchbang Waldorf で Bash 4.2.37 と mawk 1.3.3 を実行しています。
bash - コマンド置換内の awk で変数を渡す
私はこれが初めてで、変数を取得する方法を学んでいます。コマンド置換内で印刷変数部分を取得するにはどうすればよいですか? ありがとう。
bash - コマンド置換を呼び出さずに Bash 関数を呼び出すにはどうすればよいですか?
Perl スタイルの「or die」を持つ Bash 関数があります。例えば、
関数を直接呼び出すと、exit
. しかし、関数が使用したい値を返す場合、コマンド置換はexit
. つまり、exit は戻り値に格納されるだけで$?
、次の行が実行されます。
デバッグ オプションを指定して実行-x
すると、コマンド置換がサブシェルに似ていることがわかります。これは、bash がより深いネストを出力するためです。そのexit
ため、メイン スクリプトには適用されません。
出力例:
func1 を呼び出して、その出力を (変数、ループ、if などで) 使用しながら、ショートサーキットを活用する方法はありexit
ますか?
bash - コマンド置換でエスケープされた二重引用符はBashでリテラルになりますか?
これをBashで実行すると
私は得る1 2
。しかし、私が実行すると
私は得る"1 2"
。
今、私が実行するかどうかを理解します
私は得るでしょう1 2
。しかし、再び、私は得る"1 2"
。実際、チェーン内のコマンド置換の数に関係なく
私はいつも得る"1 2"
。何故ですか?
ant - Apache Ant exec タスクでパラメーターを展開する
プロセスを開始するためのタスクと、最後にプロセスを強制終了するためのタスクが必要なビルドがあります。
プロセスIDを含むファイルがありますが、そのファイルの内容をkillコマンドに渡すためにコマンド置換を展開する方法がわかりません。
私が試してみました:
と:
ただし、どちらも文字列リテラルに変換されるため、次のようになります。
[exec] kill: failed to parse argument: '$(cat process-file)'
これらをアリに展開させる方法はありますか?それとも、これを達成するためのまったく別のルートですか?