Cygwin에서 기본 시작 디렉토리를 어떻게 변경합니까?


36

cygwin을 시작할 때마다 cygwin을 사용할 때주의해야하는 유일한 디렉토리까지 여러 레벨을 CD로 만들어야합니다.

cygwin이 기본적 으로이 특정 디렉토리에서 시작되도록하려면 어떻게해야합니까? 즉, Cygwin을 시작할 때마다 이미 해당 디렉토리에 있습니까?

나는 그와 비슷하거나 가까운 것을 발견했지만 이해하지 못하며이 (n00b) 용어를 검색 할 때 실제로 결과가 없습니다. 어떤 도움이라도 좋을 것입니다!


약간의 팁 : cygwin을 사용하면 여러 번 cd 할 필요가 없습니다. 하나의 명령으로 수행 할 수 있습니다 (제안은 여전히 ​​하위 디렉토리에 나타납니다).
라인

답변:


48

그냥 추가

cd /path/to/directory/you/care/about

~ / .bashrc 파일의 맨 아래에.


1
Windows 설치에서 ~ / .bashrc 파일은 어디에 있습니까?
Erdem Ece

4
Cygwin을 설치 한 방법에 따라 다르지만 Cygwin 홈 디렉토리의 Windows 경로는 일반적으로 C:\cygwin\home\%USERNAME%Windows 경로 ~/.bashrc C:\cygwin\home\%USERNAME%\.bashrc입니다.
garyjohn

dafault 홈 디렉토리가 파일을 저장하고 싶지 않은 디렉토리 인 경우 어떻게해야합니까?
Arturo

@Arturo 사용자 홈 디렉토리와 Cygwin 홈 디렉토리의 두 가지를 엉망으로 생각합니다. Cygwin을 설치하면 .bashrc 파일이 있습니다.
라인

3

"cygwin 시작"을 정의 하시겠습니까? 머신의 전원을 켤 때 cygwin 서버를 실행할 수 있지만 그게 당신의 의도가 아니라고 가정합니다.

셸 프롬프트를 열 때마다 특정 폴더에 들어가면 $ HOME / .bashrc에 넣을 수 있습니다.

cygwin 편집기 (UNIX 줄 끝을 사용하는 편집기)를 사용하여 $ HOME / .bashrc를 편집하고 줄을 추가하십시오.

cd /whatever/directory/you/want

이 디렉토리로 계속 가면 별칭을 만드는 것이 좋습니다.

$ HOME / .bashrc에 다음을 입력하십시오.

alias GT='cd /whatever/directory/you/want'

원하는대로 부르십시오. 방금 "go there"에 GT를 사용했고 대문자로하지 않는 내장 명령과 쉽게 분리 할 수 ​​있기 때문에 대문자입니다.



0

파이썬 스크립트

!! 사용하기 전에 끝에 .bashrc 문자열을 추가하십시오!

사용하다 name_script.py c:\path

path_bachrc -.bashrc 경로

cmd -cygwin.bat의 경로

#***********************************************#
#   gangelXXX@gmail.com                         #
#***********************************************#
import argparse
import subprocess
import os

path_bachrc = 'c:/PP/cygwin/home/adm/.bashrc'
cmd = 'c:\PP\cygwin\Cygwin.bat'

def delEndLineFromFile(filename):
    with open(filename, 'r') as f:
        aList = f.readlines()

    bList = aList[0:-1]

    with open(filename, 'w') as fd:
        fd.writelines(bList)


parser = argparse.ArgumentParser()
parser.add_argument("newPath", type=str, help="New path in .bachrc cygwin")
args = parser.parse_args();

delEndLineFromFile(path_bachrc);

p = args.newPath;
pNew = 'cd /cygdrive/' + p[:1] + p[2:].replace('\\', '/')
print(pNew)

with open(path_bachrc, 'a') as f:
    f.write(pNew)

PIPE = subprocess.PIPE
p = subprocess.Popen(cmd, shell = True)

2
설명 해주십시오.
Roney Michael

파이썬 스크립트 사용 name_script.py c : \ path \
user236976

path_bachrc-.bashrc의 경로
user236976

cmd-cygwin.bat의 경로
user236976

0

이 솔루션은 .bashrc를 편집 할 필요가 없습니다 :

아래는 mkpasswd의 공식 문서 스 니펫입니다.

예를 들어이 명령은 다음과 같습니다.

예 3.11. 대체 홈 루트 사용

$ mkpasswd -l -p "$(cygpath -H)" > /etc/passwd

로컬 사용자의 홈 디렉토리를 Windows 'Profiles'디렉토리에 넣습니다.

( 이 솔루션이 여기에있는 것보다 더 좋아하기 때문에 stackoverflow에 대한 비슷한 질문에서 답변했습니다 )

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.