前のコマンドの処理中に端末から入力をどのように受け入れますか?

前のコマンドの処理中に端末から入力をどのように受け入れますか?

私は個人のラップトップと学校のコンピュータの両方でUbuntu Linuxを使用しています。私の個人的なラップトップでは、端末が前のコマンドを処理している間にユーザー入力を受け入れる学校のコンピュータの動作を複製したいと思います。たとえば、実行時に最初のコマンドが処理中に入力できるようにgit commit -m "a commit message"したいとします。git pushユーザー入力の生と標準のパターンを調べましたが、どのように機能や実装方法を理解することができませんでした。

ベストアンサー1

最初のコマンドの実行中に入力された内容は、次のコマンドでバッファリングされます。

最初のコマンドが標準入力から読み出される場合は例外です。標準入力が最初に入力を読み取るためです。最初のコマンドの標準入力をリダイレクトしてこれを防ぐことができます。

command1 < /dev/null
command2

私はこれがあなたのサンプルコマンドで起こってはいけないと思います。git commit通常、コミットメッセージの入力を求められますが、この-mオプションを使用するとこれを回避できます。しかし、試してみるのも悪くありません。

おすすめ記事