很抱歉,问题标题令人困惑。我真的不确定如何说出这个问题。
我的.profile文件中有一个函数,它是sublime文本的快捷方式:
function s() { subl "$@" & }
export -f s
但是,当我执行ls | s
时,我的Sublime窗口中没有得到ls的输出。当我ls | subl
时,我确实在Sublime窗口中获得了输出。我可以修改我的功能,以便s
和s file.txt
以及ls | s
正常使用吗?
答案 0 :(得分:2)
在后台处理之前阅读所需的任何输入。
s() {
# Is stdin a terminal?
if [[ -t 0 ]]
then
#not piping
subl "$@" &
else
#piping
contents=$(cat)
subl "$@" <<< "$contents" &
fi
}