Cygwin을 사용하여 C : \의 디렉토리로 이동하는 방법은 무엇입니까?
PyQt4 를 설치하려고 하므로 엉망이 될 수 있습니다. 설치 안내서는 Sip 을 설치해야한다고 말했습니다 . Sip 을 설치 하는 마지막 단계 는 make install
명령 을 사용하는 것 입니다. Windows에는 그 기능이 없으므로 찾아 보았고 Cygwin을 설치한다고 말한 모든 것이 있습니다. 그래서 나는했다. 하지만 ... 모금에 있습니다 C:\Python31\sip
.
Cygwin 명령에서 이것을 실행할 수 있습니까? 그렇다면 어떻게해야합니까?
아니면 일반 Windows 명령 프롬프트에서 실행할 수 있습니까? 그렇다면 어떻게해야합니까?
사용하다:
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
.bashrc에 변수를 정의하십시오.
export C=/cygdrive/c
그럼 당신은 사용할 수 있습니다
cd $C/
탭이 자동 완성됩니다 (끝에 /를 포함하십시오)
당신은 사용할 수 있습니다
cd C:/Users/../..
관련 메모에서 다음을 좋아할 수도 있습니다.
shopt -s autocd
이것은 단지 디렉토리에 입력하여 디렉토리를 CD 수 있습니다
[user@host ~]$ /cygdrive/d
cd /cygdrive/d
[user@host /cygdrive/d]$
지속적으로 만들려면 ~/.bashrc
당신은 이것을 시도 할 수 있습니다
/cygdrive/c/directoryname
HOME 폴더에 "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")"
}
다음으로 HOME 폴더에있는 동안 터미널에 다음 명령을 입력하십시오.
echo ". overrideBashCdForWindowsPaths" >> .bashrc
터미널을 닫고 새 터미널을 엽니 다. 이제 간단히 입력하여 해당 Windows 폴더로 쉽게 변경할 수 있습니다
cd C:\Python31\sip
스크립트는 마지막 명령을 읽고 경로를 추출하여 Cygwin의 경로 변환 도구로 전달합니다. 함수 "cd"를 명명함으로써 우리는 일종의 '재정의'Bash의 내장 된 "cd"를 마지막 행에서 실제 호출을 위임합니다.
여기서 언급 할 가치가있는 것은 Cygwin이 cygpath
여전히 Cygwin에서 실행되는 Bash 스크립트에서 간격이 지정된 Windows 경로를 올바르게 처리하지 못한다는 것입니다. 비결은 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:
다음과 같이 리눅스를 느끼게하려면 :
ln -s /cygdrive/c/folder ~/folder
이것을 다음과 같이 사용하십시오 : ~/folder/..
$cd C:\
>
(이 줄이 나타나면 Enter 키를 누르십시오)
이제 C 드라이브에 있습니다.
참고 URL : https://stackoverflow.com/questions/1850920/how-to-navigate-to-a-directory-in-c-with-cygwin
'Programing' 카테고리의 다른 글
터미널에서 MySQL로 데이터베이스를 가져 오려면 어떻게해야합니까? (0) | 2020.03.02 |
---|---|
파이썬 : 예외를 무시하고 진행하는 방법? (0) | 2020.03.02 |
C #에서 유닉스 타임 스탬프를 얻는 방법 (0) | 2020.03.02 |
파이썬 목록 대 배열-언제 사용합니까? (0) | 2020.03.02 |
사용 사례 다이어그램에 포함과 확장의 차이점은 무엇입니까? (0) | 2020.03.02 |