2016-09-28 19 views
0

シェルスクリプト内のwhileループ内でユーザー入力を取得しようとしています。シェルスクリプトのループ内でユーザー入力を取得する

ls| while read p 
do 
    echo $p 

    read key 
done 

私がすることができませんreadstdin(キーボード)からの入力私の入力はlsにパイプされているため。 誰かがループ内でユーザー入力を手伝ってもらえますか?

+0

なぜlsを読み取りコマンドにパイプしますか? – Ujjwal

+0

端末から読み込むために 'read key

+0

@PS。出来た。あなたのリンクでも同じ質問が解決されます。私はその質問を削除します。 – Fawzan

答えて

2

file descriptor 0を使用してstdinから読み取ることができます。または単に/dev/ttyを使用してください。あなたの現在のプロセスは$$です。

ls| while read p 
do 
    echo $p 
    read key < /proc/$$/fd/0 
    # OR read key < /dev/tty 
done 
関連する問題