测试环境:
$ 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
这里这样的命令,让其在 shell 中认为它有 TTY,而实际上却没有?
笔记: ls
这里只是一个示例程序,我正在寻找通用解决方案,而不是像特定程序那样ls -q | cat
。