Cygwin'deki varsayılan başlangıç ​​dizinini nasıl değiştiririm?


36

Ne zaman cygwin'i başlatsam, cygwin'i kullanırken umurumda olan tek dizine kadar birkaç seviyeye cd atmam gerekiyor.

Cygwin'in varsayılan olarak bu özel dizinde başlamasını nasıl sağlayabilirim ... yani, Cygwin'i her başlattığımda zaten bu dizinde olacak mı?

Olabilecek veya yakın olabilecek bazı şeyler buldum, ancak onları anlamıyorum ve bu (n00b) terimleri aradığımda gerçekten hiçbir sonuç yok. Herhangi bir yardım çok iyi olurdu!


Sadece küçük bir ipucu: cygwin kullanarak birkaç kez cd yazmanıza gerek kalmaz - tek bir komutla yapabilirsiniz (öneriler alt dizinlerde görünmeye devam eder).
Hat

Yanıtlar:


48

Sadece ekle

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

~ / .bashrc dosyanızın altına


1
Windows kurulumunda bu ~ / .bashrc dosya nerede
Erdem Ece

4
Bu, Cygwin'i nasıl yüklediğinize bağlıdır, ancak Cygwin ana dizininize giden Windows yolu genellikle C:\cygwin\home\%USERNAME%Windows yolunu açacaktır ~/.bashrc C:\cygwin\home\%USERNAME%\.bashrc.
garyjohn

Dafault home dizini, herhangi bir dosya koymak istemediğim bir dizin ise.
Arturo

@ Arturo İki şeyi karıştırdığınızı düşünüyorum - kullanıcı ana dizininiz ve Cygwin ana dizininiz. Cybwin'i yüklerseniz .bashrc dosyası yine de oradadır.
Hat

3

"Cygwin'i başlat" ı tanımla? Makinenizi çalıştırırken cygwin sunucularını çalıştırabilirsiniz, ancak bunun ne anlama geldiğini sanmıyorum.

Yani, bir kabuk istemini her açışınızda belirli bir klasöre son verirseniz, bunu $ HOME / .bashrc içine ekleyebilirsiniz.

$ HOME / .bashrc adresinizi bir cygwin editörü (UNIX satır sonları kullanan) kullanarak düzenleyin, bir satır ekleyin

cd /whatever/directory/you/want

Sürekli bu dizine gidecekseniz, muhtemelen bir takma ad yapmaktan da daha iyi olursunuz.

$ HOME / .bashrc hesabınıza koyun:

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

Ne istersen onu söyle; GT'yi sadece "oraya gitmek" için kullandım ve büyük harf kullandım çünkü yerleşik komutlardan asla büyük harf kullanmamayı kolaylaştırıyor.


2

.bash_profile (veya .profile) dizininizin son satırında cd your/dirctory/here


0

python betiği

!! kullanmadan önce sonuna kadar herhangi bir dize .bashrc ekleyin !!

kullanım name_script.py c:\path

path_bachrc - .bashrc yolu

cmd - cygwin.bat’a giden yol

#***********************************************#
#   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
Lütfen açıkla.
Roney Michael

python betiği name_script.py c: \ path \
user236976

path_bachrc - .bashrc yolu
user236976

cmd - cygwin.bat yoluna
user236976

0

Bu çözüm düzenleme gerektirmez.

Aşağıda mkpasswd'deki resmi dokümanlardaki kod parçası:

Örneğin, bu komut:

Örnek 3.11. Alternatif bir ev kökü kullanma

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

yerel kullanıcıları ev dizinlerini Windows 'Profiller' dizinine yerleştirirdi.

(benzer soru kopyalanmış cevaplandırılması stackoverflow burada daha o bu çözüm gibi çünkü)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.