テスト環境:
$ mkdir testdir
$ cd testdir
$ echo | tee "file
name"
現在、ls
はfile?name
を出力します(少なくともUbuntuではGNU bash))、ls | cat
はfile
とname
を別々の行に出力します。
私が達成したいのは、パイプされたバージョンでfile?name
を印刷することです。
$ something ls | cat` or `ls | something | cat` or `ls | something cat
言い換えれば、ここでls
のようなコマンドをだまして、シェルにTTYがあるのに、TTYがない場合はどうすればよいのでしょうか。
注:ls
は、ここでのサンプルプログラムにすぎません。ls -q | cat
のようなプログラム固有ではなく、一般的なソリューションを探しています。