質問: シェルコマンドをサブシェルまたはバックグラウンドで実行しますか? 実際、私は主にrubyを使用していますが、bashスクリプトファイルを作成しました。このスクリプトファイルから、画面にメッセージを表示しています。これが私のシナリオです。画面にメッセージを表示するためにaosd_catモジュールを使用しましたが、正常に実行しました。このために私は彼らの ドキュメント を使用しました。これが私のmessage.shスクリプトファイル:#!/bin/bash function message_1(){ if [ condition ] echo 'message -1' | display=:0 aosd_cat -u 10000 -e 2 -t 2 -r 'green' -n 'arial bold 20' -p 0 -x 10 -y 60 else echo 'message -4' | display=:0 aosd_cat -u 10000 -e 2 -t 2 -r 'green' -n 'arial bold 20' -p 0 -x 10 -y 60 fi } function message_2(){ echo 'message -2' | display=:0 aosd_cat -u 10000 -e 2 -t 2 -r 'green' -n 'arial bold 20' -p 0 -x 10 -y 60 } function message_3(){ echo 'message -3' | display=:0 aosd_cat -u 10000 -e 2 -t 2 -r 'green' -n 'arial bold 20' -p 0 -x 10 -y 60 } # as i have to display messages continuously while true do message_1 message_2 message_3 done 実行後、メッセージが1つずつ表示されていることがわかります(message_1が最初に表示され、次にmessage_2、次にmessage_3が表示されます)。すべてのメッセージを同時に表示する必要があります。これを実現するために、これらのコマンドをサブシェルで/サブプロセスとして/バックグラウンドで実行できると思います(他のプロセスには影響しません)。rubyには、サブシェルで指定されたコマンドを実行する システムコマンド があります。bashスクリプトファイルでこのタイプの機能を実現するにはどうすればよいですか?
回答: あなたはこのようにそれを行うことができます: bash -c command しかし、あなたの場合、おそらくコマンドをバックグラウンドに送信するだけで十分です。 command &