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



Я пытаюсь установить PyQt4 так что я могу с ним возиться. В руководстве по установке говорилось, что я должен был установить Sip. Последний шаг к установка Sip использовать . У Windows этого нет, поэтому я посмотрел его и все, что я видел, сказал установить Cygwin. Так я и сделал. Но...СИП в C:Python31sip.



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



или я могу запустить это из нормального командная строка windows? Если да, то как мне это сделать?

2464   13  

13 ответов:

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

cd /cygdrive/c

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

ln -s /cygdrive/c /c

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

затем вы можете сделать это в командной строке

cd /c/Foo
cd /c/

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

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

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

cd "C:\Foo"

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

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

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

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

cdc

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

shopt -s autocd

Это позволяет вам cd a dir, просто набрав в dir

[user@host ~]$ /cygdrive/d
cd /cygdrive/d
[user@host /cygdrive/d]$ 

- это настойчивый, вы должны добавить его в свой ~/.bashrc

определите переменную in .bashrc следующее :

export C=/cygdrive/c

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

cd $C/

вкладка правильно autocompletes (пожалуйста, включите / в конце)

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

cd C:/Users/../..

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

/cygdrive/c/directoryname

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

#!/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")"
}

затем введите следующую команду в терминале, пока вы находитесь в своей домашней папке:

echo ". overrideBashCdForWindowsPaths" >> .bashrc

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

cd C:\Python31\sip

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

что-то, что стоит упомянуть здесь, это то, что Cygwin's 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, но вы можете использовать кавычки в своих сценариях.

тот, который мне нравится:cd C:

чтобы иметь linux, как чувствовать, то делать:

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

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

$cd C:\

> (нажмите enter, когда вы видите эту строку)

теперь вы находитесь в диск C.

Comments

    Ничего не найдено.