-y を使用しているにもかかわらず確認を求めるスクリプト

-y を使用しているにもかかわらず確認を求めるスクリプト

ソフトウェアとファイアウォール ルールを設定するためのスクリプトを開発しようとしています。これは、ルート ユーザーとして SSH 経由で接続された状態で新しい VPS 上で実行されます。

スクリプトには '-y' を無視している箇所が 2 箇所あります。

最初の項目:

apt update && apt upgrade -y && apt autoremove -y && apt autoclean -y

次のプロンプトが表示されます:パッケージのアップグレード中に確認せずにサービスを再起動しますか?自動的に「はい」を選択したいと思います。

2番目の項目:

ufw allow 1635/udp
ufw allow ssh
ufw enable

次のプロンプトが表示されます:コマンドにより既存の SSH 接続が中断される可能性があります。操作を続行しますか?これも自動的に「はい」を選択するようにしたいと思います。

どなたか助けていただければ幸いです。現在、これら 2 つの項目により、完全に手間のかからないセットアップ プロセスが実現できていません。

答え1

解決しました!

最初のアイテム

apt upgradeGUI プロンプトの原因であることが判明しました。これは、次のように更新することで解決しました。DEBIAN_FRONTEND=noninteractive apt upgrade -y

2番目の項目

以下のアップデートにより解決しましたufw enable:yes | ufw enable

答え2

最初の問題の場合は、ターミナルで
$echo -e "\t Yes" トラバースするはずなので、最後に: を追加してみてください。 または、同じ問題の場合は最後に: を追加してください。<Yes>

$echo "\t \r"

そして
2 番目の問題については、次のことを試してください。

$ echo "y" | sudo ufw enable

関連情報