0

抱歉,如果问题标题令人困惑。我真的不知道如何措辞这个问题。

我的 .profile 文件中有一个函数,它是崇高文本的快捷方式:

function s() { subl "$@" & }
export -f s

但是,当我这样ls | s做时,我的 Sublime 窗口中没有 ls 的输出。当我这样做时,ls | subl我会在 Sublime 窗口中获得输出。我可以修改我的函数以在sands file.txt和中正常工作ls | s吗?

4

1 回答 1

2

在后台运行之前阅读您需要的任何输入。

s() { 
    # Is stdin a terminal?
    if [[ -t 0 ]]
    then
        #not piping
        subl "$@" &
    else
        #piping
        contents=$(cat)
        subl "$@" <<< "$contents" &
    fi
}
于 2013-07-07T20:50:49.097 回答