Путь MSYS2 к буферу обмена Windows

Есть ли способ скопировать путь Unix из оболочки MSYS2 bash в буфер обмена Windows?

Обходной путь — запустить проводник Windows с текущим каталогом: /c/windows/explorer .


person weberjn    schedule 11.10.2018    source источник


Ответы (1)


Команда MSYS2 pwd имеет переключатель -W для вывода текущего пути в виде пути Windows (с косой чертой).

К буферу обмена Windows можно получить доступ как устройство Unix: /dev/clipboard

Итак, это делает функцию оболочки такой:

# pathw [-c] [dir]

pathw () {
    local p=''
    local clip=false

    if [ "$1x" = "-cx" ]; then
        clip=true
        shift
    fi

    if [ "$1x" = "x" ]; then
        p=$(pwd -W)
    else
        p=$(cd $1 && pwd -W)
    fi

    p=$(echo $p | sed 's|/|\\|g')

    echo $p

    if [ "$clip" = true ]; then
        echo $p > /dev/clipboard
    fi
}

pathw ~

C:\msys64\home\weberjn
person weberjn    schedule 11.10.2018