Как перейти к каталогу в C:\с Cygwin?

Я пытаюсь установить PyQt4, чтобы я мог общаться с ним. В руководстве по установке сказано, что мне нужно установить Sip. Последним шагом для установки Sip является использование команды make install. У Windows этого нет, поэтому я просмотрел его и все, что я видел, сказал, чтобы установить Cygwin. Так я и сделал. Но... sip находится в C:\Python31\sip.

Можно ли запустить это из команды Cygwin? Если да, то как мне это сделать?

Или я могу запустить это из обычной командной строки Windows? Если да, то как я могу это сделать?

Ответ 1

Использование:

cd /cygdrive/c

Ответ 2

Я добавлю кое-что, что поможет мне многое с cygwin. Всякий раз, когда вы настраиваете новую систему, я всегда делаю это

ln -s /cygdrive/c /c

Это создает символическую ссылку в /cygdrive/c с новым файлом с именем /c (в домашнем каталоге)

Тогда вы можете сделать это в своей оболочке

cd /c/Foo
cd /c/

Очень удобно.

Ответ 3

cd c: теперь поддерживается в cygwin

Ответ 4

Вы уже приняли ответ, но я просто подумал, что я бы сказал, что в Cygwin также работает следующее:

cd "C:\Foo"

Я думаю, что метод cd /cygdrive/c лучше, но иногда полезно знать, что вы тоже можете это сделать.

Ответ 5

Как вы, вероятно, захотите сделать это часто, добавьте псевдонимы в ваш .bashrc файл, например:

alias cdc='cd /cygdrive/c'
alias cdp='cd /cygdrive/p'

Затем вы можете просто ввести в командной строке:

cdc

Ответ 6

В соответствующей заметке вам также может понравиться:

shopt -s autocd

Это позволяет вам записывать dir, просто введя в каталог

[[email protected] ~]$ /cygdrive/d
cd /cygdrive/d
[[email protected] /cygdrive/d]$ 

Чтобы сделать постоянным, вы должны добавить его в свой ~/.bashrc

Ответ 7

Определите переменную в .bashrc:

export C=/cygdrive/c

то вы можете использовать

cd $C/

а вкладка автоматически заполняется (пожалуйста, укажите/в конце)

Ответ 8

вы можете попробовать это

/cygdrive/c/directoryname

Ответ 9

Вы можете просто использовать cd C:/Users/../..

Ответ 10

Создайте файл с именем "overrideBashCdForWindowsPaths" в папке HOME. Вставьте следующие строки в этот файл и сохраните его:

#!/bin/bash

function cd() {
    CD_PATH="$(history | tail -1 | sed -e "s,.*${FUNCNAME[0]}\s*,,g")"

    if [ -z "${CD_PATH}" -o "${CD_PATH}" = "~" ]; then
        CD_PATH="${HOME}"
    fi

    builtin cd "$(cygpath "$CD_PATH")"
}

Затем введите следующую команду в терминале, когда вы находитесь в папке HOME:

echo ". overrideBashCdForWindowsPaths" >> .bashrc

Закройте терминал и откройте новый. Теперь вы легко можете перейти в эту папку Windows, просто набрав

cd C:\Python31\sip

script считывает последнюю команду, извлекает путь и передает его в инструмент преобразования пути Cygwin. Назвав функцию "cd", мы сортируем "переопределить" Bash builtin "cd" и делегируем фактический вызов ему в последней строке.

Ответ 11

Что-то, что стоит упомянуть здесь, это то, что Cygwin cygpath по-прежнему не обрабатывает разнесенные пути Windows правильно, особенно в сценариях Bash, запущенных под Cygwin. Трюк заключается в том, чтобы понять, как Cygwin интерпретирует кавычки в сценариях Bash.

Ниже приведена работа не:

#!/bin/bash
TBDIR="/cygdrive/c/Program\ Files\ \(x86\)/MyDir/"

if [ -d "${TBDIR}" ]; then 
    echo "Found MyDir directory at: ${TBDIR}"
    cd "$TBDIR"
else 
    echo "MyDir program directory not found!"
    echo "Wrong DIR path: ${TBDIR}"
    exit 1
fi

Но это работает:

#!/bin/bash
# Cygwin-ism: No quotes!
TBDIR=/cygdrive/c/Program\ Files\ \(x86\)/MyDir/

if [ -d "${TBDIR}" ]; then 
...

Насколько я знаю, в настоящее время нет известного способа обхода пути, использующего cygpath, который может корректно обрабатывать пробелы в контексте сценария Bash, но вы можете использовать кавычки в своих сценариях.

Ответ 12

Мне нравится: cd C:

Чтобы linux понравился, выполните:

ln -s /cygdrive/c/folder ~/folder

и используйте это как: ~/folder/..