Giriş dizini yerine diğer dizine varsayılan olarak nasıl ayarlanır


180

Bir pencere makinesinde gelişiyorum. Linux komut satırı için ihtiyacım olan tek yer Git Bash. Sorun şu: Açtığımda, giriş dizinindeyim. Dizini çalışma alanımla değiştirmek zorundayım, örneğin:

cd ../../../d/work_space_for_my_company/project/code_source

Bunu bir .sh dosyasına sarabilir miyim, böylece artık el yazmam gerekmiyor mu? Bu basit olmalı ama Linux komut satırı hakkında sıfır bilgim var. Eğer o .sh dosyasını oluşturmak için bana yürüyebilir eğer gerçekten takdir ediyorum.


5
Aşağıdaki cevaplar bunu kalıcı olarak düzeltmek için uygundur, ancak bunlar olmadan bile her seferinde el yazmamalısınız. Git Bash, oturumlar arasında (Windows konsollarının aksine) devam eden bir komut geçmişi içerir, bu nedenle bu komutu tekrarlamak istediğinizde, tekrar yazmak yerine, Ctrl-r yazın ve komutun bir bölümünü yazın, örn. ctrl-r../dkomut gelir ve enter tuşuna basın. Genel olarak, komut geçmişini nasıl kullanacağınızı öğrenmek için birkaç dakikanızı ayırın ve sonra çeşitli git komutlarını tekrarlarken bunu çok kullanacaksınız.
Stephen Hosking

FYI burada ok tuşlarının çalışmasını sağlayan WSL bash alternatifi C:\Windows\System32\bash.exe -i -c 'cd /mnt/c/Data; exec "${SHELL:-bash}"'(veya cmder kullanıyorsanız cmd /c "C:\Windows\System32\bash.exe -i -c 'cd /mnt/c/Data; exec "${SHELL:-bash}"'" -new_console:t:Data)-i
KCD

Yanıtlar:


101

Bu satırı "cd.sh" dosyasına yazmanız ve ardından bunu kabuk isteminizden yapmanız yeterlidir:

. ./cd.sh

Veya $HOME/.bashrcdosyanızda bir takma ad veya işlev oluşturabilirsiniz :

foo() { cd /d/work_space_for_my_company/project/code_source ; }

Dizin adı boşluklar veya başka kabuk metakarakterleri içeriyorsa, tırnak işaretlerine ihtiyacınız vardır; gerekli olmasalar bile bunları eklemek zarar vermez:

foo() { cd "/d/Work Space/project/code_source" ; }

(Bunu atladığımı unutmayın ../../..; buna ihtiyacınız yok.)

DÜZENLE: Satır eklerseniz

foo

Blogunuza .bashrcfonksiyon tanımından sonra, kabuk bu dizinde başlayacaktır. Veya işlevi daha sonra kullanmanız gerekmiyorsa, cddoğrudan komutunuzu .bashrckullanabilirsiniz.

(İsim foosadece bir örnektir; daha anlamlı bir isim seçmelisiniz.)


5
@Orip'in işaret ettiği gibi, sadece .bashrc'nizde de yapabilirsiniz cd. Ancak bir işlev yaparsanız, başka bir dizine geçtikten sonra komutu daha sonra tekrar kullanabilirsiniz.
Keith Thompson

2
"../../ .." ifadesini açıklamak için, verdiğiniz komut geçerli dizininize göre bir yol belirtir; "../../../d/work_space_for_my_company/project/code_source"geçerli dizininizden üç düzey yukarı çıkar (ki bu olur $HOME), sonra "d" ye, sonra "iş ..." e gider . Git bash shell ortamında "/d"Windows'un aradığı şeyden bahsediliyor "D:\". Mutlak bir yol adı kullanmak "/d/work_space_for_my_company/project/code_source",, daha basittir ve nerede olduğunuza bağlı değildir $HOME.
Keith Thompson

2
Bu .bashrcdosyayı nerede bulabilirim ?
ptamzz

2
@ptamzz: Normalde .bashrc, hesabınız oluşturulduğunda ana dizininizde bir dosya oluşturulur. Değilse, kendiniz oluşturabilirsiniz.
Keith Thompson

1
"Cd.sh" dosyasını nerede bulabilirsiniz? Ve ev dizini dediğinde. Geçerli uygulama için ev dir hakkında konuşuyor veya ??
WowBow

374

İşte daha fazla Windows-ish çözümü: git bash'ı başlatmak için kullandığınız Windows kısayoluna sağ tıklayın ve Özellikler'e tıklayın. "Başlama Yeri" değerini istediğiniz çalışma alanı yoluna değiştirin.

Düzenle: Hedef değerinin, aşağıdaki yorumlarda belirtildiği gibi --cd-to-home seçeneğini içermediğinden emin olun.


13
Bu çözümle ilgili tek sorun, giriş dizini için varsayılan yolu ayarlamamanızdır, erişilen~
worc

67
Bu benim için çalıştı. Ayrıca, başlatma komutundaki --cd-to-home seçeneğini de kaldırmak zorunda kaldım.
ChinLoong

2
Windows 7 görev çubuğuna kısayol sabitlenmişse, lifehacker.com
Manat

11
Bunun en basit çözüm olduğunu kabul etti, ancak kesinlikle "--cd-to-home" hedefini kaldırmayı içerecek şekilde değiştirilmelidir. Bu son değişiklik olmadan, her zaman varsayılan olarak C: \ Users [ad] klasörünü kullanırsınız (kurulumunuzu değiştirmediyseniz).
Zeus56

2
Açıklığa kavuşturmak için, kısayolda "Hedef" %WINDIR%\System32\bash.exeve "Başla" olmalıdır C:\Tempveya istediğiniz herhangi bir yol olmalıdır .
demoncodemonkey

45

Satırı .bashrcgiriş dizinindeki dosyaya ekleyin (yoksa dosyayı oluşturun):

cd ~
touch .bashrc
echo "cd ~/Desktop/repos/" >> .bashrc

5
Partiye çok geç kaldığımı biliyorum, ama işlev saçmalıklarını durdurduğunuz için teşekkür ederim! :)
Felipe Gerard

1
Bu mükemmeldi. Benim gitti .bashrc.localve cd ~/Desktop/repos/;altına eklendi . Bir cazibe gibi çalıştı! altını değiştirmek .bashrcde işe yarayacaktı.
Michael Dimmitt

Ben sadece ~ .bashrc dosyasını yarattım ve bir dahaki sefere git Bash açtım .bash_profile ve başka bir dosya olmadığından şikayet etti, bu yüzden onları benim için yarattı. Git Bash'ı tekrar açtıktan sonra çiçeksiz çalıştı!
Pini Cheyni

başlangıç ​​komutundaki --cd-to-home seçeneğini kaldırın (Kısayol Özellikleri)
telebog

38

kullanırım ConEmu (kuvvetle Windows üzerinde önerilir) gibi Git Bash başlangıç için bir görev var

resim açıklamasını buraya girin

Alt kısımdaki "Startup dir ..." düğmesine dikkat edin. Ekler-new_console:d:<path>Git Bash'in başlatma komutuna . İstediğiniz yere işaret edin


Özel görevi paylaştığınız için teşekkürler, işe yarayamadım. Bundan sonra, örneğin Google.com'a ping atmak gibi basit windows komutlarını nasıl çalıştırabilirim?
Iman Mohamadi

1
@ImanMohamadi Bunun gibi şeyler için ben senin yerine betikler oluşturmak istiyorum ben goh p-gvb env değişkeni st u go go vb vb ping gibi cmds yürütmek ...
Juri

23

Bu size yardımcı olabilir.

görüntü açıklaması

  1. Git bash -> özelliklerine sağ tıklayın
  2. Kısayol sekmesinde -> Başlama alanı -> kullanıcı tanımlı yolunuzu girin
  3. Hedef alanının içermediğinden emin olun, --go-to-homeaksi takdirde HOME değişkeninizde belirtilen dizinde başlamaya devam eder

Bu kadar.


Bunu denedim ama yol d: \ projects \ test gibi başka bir sürücüdeyken çalışmaz
Ray

Windows 10 git bash için bu sekmeyi göstermez, ancak bu küçük 3 satır kodunu kullanarak kesmek, yarasa dosyasını 1. d: 2. cd data 3.git bashçift ​​tıklarsanız bazı **. Bat dosyasına kaydedebilirsiniz, sonra istenen konumda açılır
Krish

1
Şu Targetalana bakın, parametreleri yok. Varsayılan olarak, -go-to-homeoradan o işe silmek için hangi içerir içerir .
Kurapika

1
Benim için çalışıyor Hedef: "C: \ Program Files \ Git \ git-bash.exe" (ÖNEMLİ) Başlangıç ​​tarihi: d: / xampp / htdocs /
raftaar1191 13:17

1
Benim için de @ raftaar1191 ile aynı hedefle çalışıyor ("--cd-to-home" seçeneğini kaldırdım) ve "start" satırında "C: \ wamp \ www" olarak yapılandırıldım, çok kullanışlı!
nayfun

10

Ayrıca kısayol simgesinin "Başlangıç ​​yeri" ayarını şu şekilde değiştirdim: %HOMEDRIVE%/xampp/htdocs/


9

Bu, komut satırını her açışınızda bunun olmasını istediğinizi varsayar.

echo cd ../../../d/work_space_for_my_company/project/code_source >> ~/.bashrc

Kabuğu açtığınızda, evden üç dizin yukarı taşınır ve code_source olarak değişir.

Bu kod "cd ../../../d/work_space_for_my_company/project/code_source" satırını ".bashrc" adlı bir dosyaya ekler. ">>" yoksa bir dosya oluşturur ve sonra ekler. .Bashrc dosyası, başlatma / oturum açma sırasında komutları çalıştırmak için yararlıdır (örn. Modülleri yüklemek vb.)


9

(Lütfen aşağıdaki uyarıyı okuyun)

Windows'ta bunu yapmanın gerçekten basit bir yolu (git bash, muhtemelen diğerleri ile çalışır), HOME olarak adlandırılan, istediğiniz giriş dizinine işaret eden çevresel bir değişken oluşturmaktır.

  1. Bilgisayarıma sağ tıklayın ve özellikleri seçin
  2. Gelişmiş sistem ayarlarını seçin (konum Windows sürümüne göre değişir)
  3. Sistem özellikleri içinde gelişmiş sekmeyi seçin
  4. Gelişmiş sekmesinde Çevresel Değişkenler'i seçin (alt düğme)
  5. "Sistem değişkeni" altında, HOME adında bir değişkeniniz olup olmadığını kontrol edin. Öyleyse, değişken adını vurgulayıp düzenle'yi tıklayarak bu değişkeni düzenleyin. Yeni değişken adını istediğiniz yol yapın.
  6. HOME zaten yoksa, sistem değişkenleri altında "yeni" yi tıklayın ve değeri istenen yol olan HOME adında yeni bir değişken oluşturun.

Çevresel Değişken

NOT: Bu, diğer şeylerin çalışma şeklini değiştirebilir. Örneğin, benim için .ssh yapılandırma dosyalarımın bulunduğu yer değişiyor. Benim durumumda, evimin U: \ olmasını istedim, çünkü burası proje çalışması ve uygulama ayarlarını koyduğum ana yer (yani gerçekten "ev" dizinim).

DÜZENLEME 23 Haziran 2017: Bu cevap ara sıra upvotes almaya devam ediyor ve ben bu "işe yarayabilir" rağmen, @AnthonyRaymond tavsiye edilmediğini kabul ediyorum insanları uyarmak istiyorum. Bu daha çok geçici bir düzeltme veya başka şeylerin kırılıp bozulmadığı umurumda değilse bir düzeltmedir. Evinizi değiştirmek aktif hasara neden olmaz (sabit diskinizi silmek gibi) ancak daha sonra sinsi sıkıntılara neden olabilir. Yolda can sıkıcı sorunlar yaşamaya başladığınızda, muhtemelen bu değişikliği hatırlamayacaksınız ... bu yüzden daha sonra başınızı kaşıyor olacaksınız!


@Asalle tarafından önerilen düzenlemelerin (esas olarak kullanıcı sistem değişkenlerini de düzenleyebileceğinizi düşündüren) neden Bamsworld fish_ball ve greg-449'un reddedildiğini anlamıyorum, düzenlemeler makul görünüyordu.
geneorama

Bu iyi bir fikir olmak için çok yıkıcı bir yol. Diğer birçok uygulamayı ve hatta pencereleri etkileyebilir. Tavsiye edilmez
Anthony Raymond

@AnthonyRaymond Dediğim gibi "HOME" değiştirmenin başka sonuçları olabilir, ancak mutlaka yıkıcı olduğunu söyleyemem. Aslında, HOME'nuzun belirli bir konum olmasını istiyorsanız veya başka bir uygulama HOME'u istenmeyen bir konuma ayarladıysa yararlı olabilir. Her durumda, bu cevabın varsayılan dizinin nasıl ayarlandığına biraz ışık tuttuğunu düşünüyorum.
Geneorama

@AnthonyRaymond, buna rağmen, bu soru bağlamında belirli bir projeye (örn ../../../d/work_space_for_my_company/project/code_source. Genel olarak konuşursak, HOME'un olması gerekmediği zamanlar var/c/Users/[current user name]/
geneorama

Özel bir klasörün başka bir konuma işaret etmesini istiyorsanız sembolik bağlantı oluşturun. technet.microsoft.com/en-us/library/cc753194(v=ws.11).aspx Hangi programın HOME değişkenini kullandığını bilmenin bir yolu yok, sanırım biraz yıkıcı gibi geliyor.
Anthony Raymond

7

Git Bash uygulaması bağlantısını sağ tıklatın, Özellikler'e gidin ve Başlama konumu, başlamasını istediğiniz konum olarak değiştirin.


5

Windows 10'da Sabitlenmiş Başlat Menüsü Öğesinden

  1. Sabitlenmiş kısayolun dosya konumunu açın
  2. Kısayol özelliklerini açın
    1. --cd-to-homeArg. Kaldır
    2. Güncelleme Start inyolu
  3. Son eklenenler aracılığıyla başlat menüsüne yeniden sabitle

dosya konumu ekran görüntüsünü aç

shortcut Properites ekran görüntüsü

kısayolu özelleştirmek ekran görüntüsü

son eklenen screnshot ile sabitleme


Bunun nasıl yapılacağı ile ilgili diğer tüm cevaplara teşekkürler! Win 10 talimatları vermek istedim ...


4

Windows için: Şu adımları izleyin:

  1. Windows ana sayfasına gidin> "Git Bash" uygulamasına sağ tıklayın.
  2. Özellikler> Kısayol
  3. Bu iki ayarı değiştirin: (a) Sil - cd-to-homeGönderen target (b) "Start in" alanına git ile başlamak istediğiniz klasör yolunu yazın.

Bu benim için çalıştı :)


3

GIT bash'ı açtığınızda proje seçim listesine sahip olmak istiyorsanız :

  • düzenlemek ppathsizin git projeleri için kod başlığındaki yolu , bu kodu koymak Bashrc dosyası ve içine kopyalayın $ ANA dir (Win Vista / 7, genellikle : \ Users \ $ SİZE c )

.

#!/bin/bash
ppath="/d/-projects/-github"
cd $ppath
unset PROJECTS
PROJECTS+=(".")
i=0

echo
echo -e "projects:\n-------------"

for f in *
do
    if [ -d "$f" ]
    then
        PROJECTS+=("$f")
        echo -e $((++i)) "- \e[1m$f\e[0m"
    fi
done


if [ ${#PROJECTS[@]} -gt 1 ]
then
    echo -ne "\nchoose project: "
    read proj
    case "$proj" in
        [0-`expr ${#PROJECTS[@]} - 1`]) cd "${PROJECTS[proj]}" ;;
        *) echo " wrong choice" ;;
    esac
else
    echo "there is no projects"
fi
unset PROJECTS
  • bu dosyayı GIT bash chmod + x .bashrc içinde yürütülebilir olarak ayarlamak isteyebilirsiniz (ancak bu dosya ntfs dosya sisteminde depolandığından muhtemelen gereksizdir )

2

Windows'ta Git Bash kısayolum, çalışma dizinime cd'yi ~ / .bashrc dizinine yerleştirdiğimde şikayet etti

WARNING: Found ~/.bashrc but no ~/.bash_profile, ~/.bash_login or ~/.profile.

This looks like an incorrect setup.
A ~/.bash_profile that loads ~/.bashrc will be created for you.

Git bu .bash_profile dosyasını oluşturdu:

$ cat ~/.bash_profile
# generated by Git for Windows
test -f ~/.profile && . ~/.profile
test -f ~/.bashrc && . ~/.bashrc

Hangi işi yapar.

Alternatif olarak, .bashrc dosyasını tekrar kaldırabilir ve cd komutunu .bash_profile dosyasına koyabilirsiniz:

$ rm ~/.bashrc
$ echo "cd Source/Repos" >~/.bash_profile

$ cat ~/.bash_profile
cd Source/Repos

Bu yapıldıktan sonra, Pencereyi kapatabilir ve masaüstü kısayolunuzu kullanarak yeniden açabilirsiniz ve bilgi istemi size konumunuzun şimdi istediğiniz yerde olduğunu söyleyecektir - bu benim durumum gibi görünüyor:

Administrator@raptor1 MINGW64 ~/Source/Repos
$

2

Bu komutu yazarsanız: echo cd d:/some/path >> ~/.bashrc

Çizgi ekler cd d:/some/pathiçin .bashrc. >>Ekler o zaman yoksa bir dosya oluşturur ve.


1

olmalı cd d:/work_space_for_....

olmadan :benim için çalışmıyor


1

Windows kullanıcıları için başka bir çözüm Git Bash.lnk dosyasını başlamanız gereken dizine kopyalamak ve oradan başlatmak olacaktır.

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.