0

質問のタイトルがわかりにくい場合は申し訳ありません。この質問の言い方がよくわかりません。

崇高なテキストのショートカットである .profile ファイルに関数があります。

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

しかし、ls | sそうすると、Sublime ウィンドウに ls の出力が表示されません。私がそうするls | sublと、Sublimeウィンドウに出力が表示されます。s関数を変更してands 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 に答える