コマンドラインからアプリを起動し、STDOUT および STDERR 出力を /dev/null にリダイレクトする単純な bash スクリプトを作成しようとしています。また、スクリプトが失敗した場合にフィードバックを提供する機能も含めたいと考えています。
スクリプトはほとんど機能しますが、アプリをバックグラウンドで起動できません。nohup、disown を使用して、if ステートメントを "(if...fi)&" でラップし、else ステートメントを "{... ;}&" でラップしてみましたが、試したすべての方法で新しい問題が発生しましたまたはまったく機能しませんでした。
助言がありますか?
これが私がやっていることの基本的なバージョンです:
#!/bin/bash
read -p "Enter program name: " APP
if
$APP 2>&1 | grep -q "command not found"
then
echo "That didn't work."
else
$APP >/dev/null 2>&1 &
fi