Como altero o diretório de inicialização padrão no Cygwin?

34

Sempre que eu inicio o cygwin, eu preciso gravar vários níveis até o único diretório que me interessa quando uso o cygwin.

Como posso obter o cygwin para iniciar neste diretório específico Por padrão ... ou seja, toda vez que eu iniciar o Cygwin, ele estará nesse diretório já?

Encontrei algumas coisas que podem ser próximas ou próximas, mas não as entendo e realmente não há resultados quando pesquiso esses termos (n00b). Qualquer ajuda seria ótima!

    
por Matt 10.02.2012 / 15:59

5 respostas

44

Basta adicionar

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

na parte inferior do seu arquivo ~ / .bashrc.

    
por 10.02.2012 / 16:33
3

Definir "start cygwin"? Você pode rodar servidores cygwin quando liga sua máquina, mas estou assumindo que não é isso que você quer dizer.

Se você quer dizer, acabe em uma pasta específica toda vez que abrir um prompt do shell, você pode colocar isso em seu $ HOME / .bashrc

Edite seu $ HOME / .bashrc usando um editor cygwin (um que use finais de linha UNIX), adicione uma linha

cd /whatever/directory/you/want

Se você está constantemente indo para esse diretório, provavelmente é melhor criar um alias também.

Na sua conta $ HOME / .bashrc:

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

Chame o que você quiser; Acabei de usar o GT para "ir lá" e em maiúsculas porque facilita a separação dos comandos incorporados, que nunca são capitalizados.

    
por 10.02.2012 / 16:33
2

na última linha do seu .bash_profile (ou .profile), coloque cd your/dirctory/here

    
por 10.02.2012 / 16:34
0

script python

!! antes de usar adicione .bashrc qualquer string até o fim !!

use name_script.py c:\path

path_bachrc - caminho para .bashrc

cmd - caminho para cygwin.bat

#***********************************************#
#   [email protected]                         #
#***********************************************#
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)
    
por 10.07.2013 / 05:43
0

Esta solução não requer edição .bashrc:

Abaixo está um trecho dos documentos oficiais no mkpasswd:

For example, this command:

Example 3.11. Using an alternate home root

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

would put local users home directories in the Windows 'Profiles' directory.

(respondeu copiado de uma pergunta semelhante em stackoverflow porque gosto mais dessa solução que os que estão aqui )

    
por 13.01.2018 / 11:19