問題タブ [subshell]

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 に答える
226 参照

bash - $> bash script.sh ... フォークされた bash プロセスはサブシェルを作成しますか?

私が実行した場合:

fork-and-exec はたまたま bash バイナリを実行します。そのプロセスはscript.shを実行しますか、それとも同じ方法でサブシェルを作成しますか

最初にスクリプトを実行するサブシェルを作成しますか?

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

arrays - forループbashで変数を伝播する

配列変数に15個のパスが保存されており、ファイル名も別の配列変数として保存されており、各パスを対応するファイルにバインドしたいと考えています。次のように、各パス要素を対応するファイルにバインドする sth を探していました。

そして私は必要です:

シンプルなforループでうまく管理しました:

しかし、スクリプトのそれ以降の部分には変数が必要ar3で、for-loop サブシェルの外では使用できません。

どうもありがとう、ガイ

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

shell - How to fetch last argument and stop before last arguments in shell script?

I want to merge all files into one. Here, the last argument is the destination file name. I want to take last argument and then in loop stop before last arguments.

Here code is given that I want to implement:

How to achieve that?

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

time - サブシェルなしで複数のコマンドの時間を計りますか?

timeサブシェルを起動せずに、zsh で予約語を使用して複数のコマンドの時間を計る方法はありますか?

私はこれが機能することを知っています:

ただし、括弧はサブシェルが作成されることを意味し、初期化された変数はエクスポートされません。

次のように、前後の変数をキャプチャできることを知っています

ただし、アドホックなタイミングの場合、これは少し面倒です。

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

bash - bash サブシェルは新しい「bash」プロセスを生成しますか?

The TTY demystifiedを読んでいます。「ジョブとセッション」セクションには、xterm を使用するユーザーの例があります。

関連するプロセスをリストした表があります: xtermbash( の子xterm)、および最後の 3 つのプロセス ( catlsおよびsort) はすべて同じ PPID (親プロセス ID) を持ちます。これらはすべて同じbashプロセスの子です。

これで、bash のパイプラインはサブシェルで実行されることがわかりました。bashこのサブシェルのことは、各サブシェルに余分なプロセスがあることを意味するといつも思っていました。bash私の質問は次のとおりです。別の 2 つのプロセスが存在するべきではありません。どちらも最初の子であり、最初の子bashになり、2 番目の子になりますか? 記事の表は簡略化されていますか、それともサブシェルの理解が間違っていますか?lsbashsortbash

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

php - PHPからのサブシェルコマンドを持つbashスクリプトの実行

以下のような内容のphp shell_execute("$command")を介して、bashで子スクリプトを実行しようとしています。

提出時に私は得る

基本的に、私の子スクリプトはタッチファイルを作成し、メールを送信し、スリープしてから再度メールを送信し、タッチファイルをrmします

出力として空白になっていたので。よりクリーンな親トリガースクリプトを作成して、このスクリプトを実行してみました

そして、送信時にこのトリガースクリプトを呼び出すだけで、ある程度の進歩が得られます

今回もメールが来ました。つまり、子スクリプトは呼び出されますが、() 内のコマンドは実行されません。最後のコマンドがそのように書かれている理由は、これらすべてのコマンドが順番にのみ発生することを確認する必要があるためです。これは確かにサブシェル/バックグラウンドの問題ですが、このスクリプト全体を機能させる方法に行き詰まっています。また、子を呼び出すトリガーを呼び出すのではなく、子スクリプトを直接実行したいと思います。

私のフォームコードは、うまく見えますが、以下のとおりです

私は web devl にまったく慣れていないので、誰かがランダムなコマンドを実行すると致命的になる可能性があると警告されています。同意しますが、許可された人のみがこのページにアクセスできます。また、これが不可能な場合は、適切なチェックを行ってこのスクリプトを実行する方法を教えてください。

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

variables - bashスクリプトを介した変数へのDB2出力

スクリプトで後で使用するために、db2 コマンドからの出力を変数に適用するのを誰かが手伝ってくれることを願っています。

これまでのところ、私は...

$Counterwhile ループの外で参照しようとするとSQL1024N A database connection does not exist. SQLSTATE=08003echo $HowMany

パイプを使用して別の方法を試しましたが、これにより$HowMany正しい値が表示されますが、それはサブシェルであるため、後で失われます。

スクリプトがいつでも中止された場合にファイルが残ってしまうのは嫌なので、一時ファイルを使用せず、可能であればそれらを削除したいと思います。

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

bash - シェル変数が値を保持していません

file に 3 行あります/root/backuplist.txt

最初のechoものは完全に印刷されますが、最後のものは空行を印刷します。理由はわかりません。どういうわけか、$DIRS値が設定されていません。