"read -p"の出力をstdoutや他のファイルに印刷する方法

私が何をしているのか

echo -n "  - This directory is not empty, purge? (Y/N):   " | tee -a $mylogs
read choice
echo "$choice" | tee -a $mylogs

しかし、次のように圧縮してみたいです。

read -p "  - This directory is not empty, purge? (Y/N): " choice | tee -a $mylogs

これはstdoutとして印刷されますが$mylogs$choiceなぜこれが起こるのか説明がありますか? 1行または2行の代替

  • 印刷のヒント
  • ユーザー入力印刷
  • 入力内容を次の場所に保存してください。$choice

スクリプトのこの部分を記録して再利用できるようにしたいです。$choice

ベストアンサー1

ちょっとした情報を読んだ後に知りました。これ@lesmana提供、役に立つ

スクリプトを実行してください

script -q -a -f logfile -c 'sh ./yourscriptname'

「ユーザー」からこのロギングを非表示にするには、このスクリプト行をターゲットスクリプトの周りのラッパーに入れてから、ラッパー内でターゲットスクリプトを呼び出すだけです。

おすすめ記事