Ik probeer PyQt4te installeren zodat ik ermee kan rommelen. In de installatiehandleiding stond dat ik Sipmoest installeren. De laatste stap om Sip installerenis het gebruik van de make install
commando. Windows heeft dat niet, dus ik heb het opgezocht en alles wat ik zag zei Cygwin te installeren. Dus ik deed. Maar…sip staat in C:\Python31\sip
.
Kan ik dit uitvoeren vanaf het Cygwin-commando? Zo ja, hoe zou ik dat doen?
Of kan ik dit uitvoeren vanaf de normale Windows-opdrachtprompt? Zo ja, hoe zou ik dat aanpakken?
Antwoord 1, autoriteit 100%
Gebruik:
cd /cygdrive/c
Antwoord 2, autoriteit 26%
Ik zal iets toevoegen dat me veel helpt met cygwin. Wanneer ik een nieuw systeem opzet, doe ik dit altijd
ln -s /cygdrive/c /c
Hiermee wordt een symbolische linkgemaakt naar /cygdrive/c
met een nieuw bestand genaamd /c
(in de homedirectory)
Dan kun je dit in je shell doen
cd /c/Foo
cd /c/
Heel handig.
Antwoord 3, autoriteit 18%
cd C:
wordt nu ondersteund in cygwin
Antwoord 4, autoriteit 7%
Je hebt al een antwoord geaccepteerd, maar ik dacht even te vermelden dat het volgende ook werkt in Cygwin:
cd "C:\Foo"
Ik denk dat de cd /cygdrive/c
methode beter is, maar soms is het handig om te weten dat je dit ook kunt doen.
Antwoord 5
Je kunt gewoon
. gebruiken
cd C:/Users/../..
Antwoord 6
Omdat je dit waarschijnlijk vaak wilt doen, voeg je aliassen toe aan je .bashrc-bestand, zoals:
alias cdc='cd /cygdrive/c'
alias cdp='cd /cygdrive/p'
Dan kun je gewoon op de opdrachtregel typen:
cdc
Antwoord 7
Definieer een variabele in .bashrc :
export C=/cygdrive/c
dan kun je
cd $C/
en het tabblad wordt automatisch correct aangevuld (voeg de / toe aan het einde)
Antwoord 8
Over een verwante opmerking, vind je misschien ook leuk:
shopt -s autocd
Hiermee kun je een map op cd zetten door gewoon in de map te typen
[user@host ~]$ /cygdrive/d
cd /cygdrive/d
[user@host /cygdrive/d]$
Als u persistent wilt maken, moet u het toevoegen aan uw ~/.bashrc
Antwoord 9
u kunt dit proberen
/cygdrive/c/directoryname
Antwoord 10
Degene die ik leuk vind is: cd C:
Als je Linux wilt voelen, doe dan:
ln -s /cygdrive/c/folder ~/folder
en gebruik dit als volgt: ~/folder/..
Antwoord 11
Maak een bestand met de naam “overrideBashCdForWindowsPaths” in uw HOME-map. Plak de volgende regels in dat bestand en sla het op:
#!/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")"
}
Typ vervolgens de volgende opdracht in een terminal, terwijl u zich in uw HOME-map bevindt:
echo ". overrideBashCdForWindowsPaths" >> .bashrc
Sluit uw terminal en open een nieuwe. U kunt nu eenvoudig naar die Windows-map gaan door simpelweg te typen
cd C:\Python31\sip
Het script leest het laatste commando, extraheert het pad en geeft het door aan Cygwin’s pad-conversietool. Door de functie “cd” te noemen, ‘overschrijven’ we de ingebouwde ‘cd’ van Bash en delegeren we de daadwerkelijke aanroep ernaar in de allerlaatste regel.
Antwoord 12
Iets dat het vermelden waard is, is dat Cygwin’s cygpath
nog steeds niet goed omgaat met gespreide Windows-paden, vooral in Bash-scripts die onder Cygwin draaien. De truc is om te begrijpen hoe Cygwin
aanhalingstekens in Bash-scripts interpreteert.
Het volgende werkt niet:
#!/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
Maar dit werkt wel:
#!/bin/bash
# Cygwin-ism: No quotes!
TBDIR=/cygdrive/c/Program\ Files\ \(x86\)/MyDir/
if [ -d "${TBDIR}" ]; then
...
Voor zover ik weet, is er momenteel geen tijdelijke oplossing bekend met cygpath
, die spaties in de bash-scriptingcontext goed kan verwerken, maar je kunt wel aanhalingstekens gebruiken in je scripts.
Antwoord 13
$cd C:\
>
(Druk op enter als je deze regel ziet)
Je bent nu in de C-schijf.