コンテキスト:私は人生を段階的にもっと便利にするためにbash関数を書こうとしていますが、私は目標が可能だとは思いません。2つのスクリプトを別々のディレクトリ、並列、およびフォアグラウンドで実行する
目標/質問:は1ディレクトリ内のレール・サーバを起動し、別のに反応し起動するシェル関数を作成しますが、二つの端末を開くことなく、私は、私は誰かが私の疑いを確認/拒否するために取得することができます願っていますタブを開き、コマンドを別々に実行します。 (は、これは可能です?)
をしようとしました:
function run_project(){
(cd [RAILS_PROJ_DIR] && exec rails server) && (cd [REACT_PROJ_DIR] && exec yarn start)
}
問題:最初のための第二のコマンドを待機が正常に終了するため機能は動作しません。しかし、どうにかして両方とも正常に動作させることができれば、バックグラウンドで実行しないでください(ログ出力を見ることができません)。
UPDATE:応答のため
おかげで、すべて。 、他の人が両方のログ出力を混合、指摘したように
がfunction run_project(){ (cd [RAILS_PROJ_DIR] && exec rails server &) && (cd [REACT_PROJ_DIR] && exec yarn start &) }
理想的ではない:私は、私は少し修正して欲しかったものに近いだが、それは丸い穴のための正方形のPEG溶液のビットですこれはまた、pry
が動作しないように思われます。フォアマンはおそらく本当の方法です。受け入れられた答えとしてマークする。
「フォアグラウンド」は1つだけです。フォアグラウンドで2つのプロセスを実行することはできません。もちろん、バックグラウンドで2つのプロセスを実行し、それらのプロセスの出力を取得してインターリーブされた方法で表示する特別な「コレクタ」プログラムを作成することもできますが、これは紛らわしいことではありませんか?おそらく、[multitail](https://linux.die.net/man/1/multitail)のようなものがあなたの要求に合っているでしょう。 – user1934428
両方のログを一緒に読みたいですか? – User9102d82