ホームディレクトリの代わりに他のディレクトリにデフォルト設定する方法


180

私はWindowsマシンで開発しています。Linuxコマンドラインに必要な唯一の場所はGit Bashです。問題は次のとおりです。それを開くと、ホームディレクトリにいます。次のように、ディレクトリをワークスペースに変更する必要があります。

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

これを.shファイルにラップして、手動で入力する必要がなくなるようにできますか?これは単純なはずですが、Linuxコマンドラインについてはまったく知識がありません。その.shファイルの作成方法を順を追ってご説明いただければ幸いです。


5
以下の答えはこれを永久に修正するのに適切ですが、これらがなくても毎回これを手入力するべきではありません。Git Bashには、(Windowsコンソールとは異なり)セッション間で持続するコマンド履歴が含まれているため、このコマンドを繰り返す場合は、もう一度入力する代わりに、Ctrl-rを入力してからコマンドの一部を入力するだけです。ctrl-r../dコマンドが表示されたら、Enterキーを押します。一般的に、コマンド履歴の使用方法を学ぶのに数分を費やしてください。そうすれば、さまざまなgitコマンドを繰り返すときに、それを頻繁に使用することになります。
Stephen Hosking 2016

C:\Windows\System32\bash.exe -i -c 'cd /mnt/c/Data; exec "${SHELL:-bash}"'参考cmd /c "C:\Windows\System32\bash.exe -i -c 'cd /mnt/c/Data; exec "${SHELL:-bash}"'" -new_console:t:Dataまで-iに、矢印キーを機能させるWSL bashの代替案(またはcmderを使用する場合)を示します
KCD

回答:


101

その行をファイル「cd.sh」に書き込んでから、シェルプロンプトから次のように入力します。

. ./cd.sh

または、$HOME/.bashrcファイルにエイリアスまたは関数を作成できます。

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

ディレクトリ名にスペースまたは他のシェルのメタ文字が含まれている場合は、引用符が必要です。それらが必要でなくても、それらを追加することは害になりません:

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

(私は省略したことに注意してください../../..。あなたはそれを必要としません。)

編集:あなたが行を追加する場合

foo

あなたに.bashrc関数定義の後に、シェルはそのディレクトリで起動します。または、後で関数を使用する必要がない場合は、cdコマンドを直接使用することもできます.bashrc

(名前fooは単なる例です。より意味のある名前を選択してください。)


5
@oripが指摘するように、cd.bashrcでを実行することもできます。ただし、これを関数にすると、後で別のディレクトリに移動した後で、コマンドを再び使用できます。
キーストンプソン

2
「../../ ..」を説明するために、指定したコマンドは現在のディレクトリからの相対パスを指定しています。"../../../d/work_space_for_my_company/project/code_source"現在のディレクトリ(たまたま$HOME)から3レベル上に移動し、次に「d」、次に「work ...」に移動します。git bashシェル環境は"/d"、Windowsが呼び出すものを参照しています"D:\"。絶対パス名を使用する方"/d/work_space_for_my_company/project/code_source"が簡単で、$HOMEたまたまどこにあるかには依存しません。
キーストンプソン

2
この.bashrcファイルはどこにありますか?
ptamzz 2012

2
@ptamzz:通常、.bashrcアカウントが設定されると、ホームディレクトリにファイルが作成されます。そうでない場合は、自分で作成できます。
キース・トンプソン、

1
「cd.sh」はどこにありますか?そして、あなたがホームディレクトリを言うとき。あなたは現在のアプリのホームディレクトリについて話しているのですか?
WowBow

374

これは、よりWindows風のソリューションです。gitbashの起動に使用するWindowsショートカットを右クリックし、[プロパティ]をクリックします。「開始」の値を目的のワークスペースパスに変更します。

編集:また、以下のコメントに記載されているように、ターゲット値に--cd-to-homeオプションが含まれていないことを確認してください。


13
このソリューションの唯一の問題は、ホームディレクトリのデフォルトパスを設定していないことです。これは、次のようにアクセスします~
worc

67
これでうまくいきました。さらに、startupコマンドの--cd-to-homeオプションも削除する必要がありました。
ChinLoong 2015

2
Windows 7のタスクバーにショートカットを固定している場合、lifehacker.com / 5475752 /…
manat

11
これが最も簡単な解決策であることに同意しますが、ターゲットから「--cd-to-home」を削除することを含めるように修正する必要があります。最後の変更がない場合、デフォルトでC:\ Users [name]フォルダーになります(設定を変更していない限り)。
Zeus56 2016年

2
明確にするために、ショートカットの「ターゲット」は%WINDIR%\System32\bash.exe「開始」、C:\Tempまたは任意のパスにする必要があります。
demoncodemonkey

45

この行を.bashrcホームディレクトリのファイルに追加します(ファイルが存在しない場合は作成します)。

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

5
パーティーに遅れるのはわかっていますが、無意味な機能をやめてくれてありがとう!:)
フェリペジェラール

1
これは完璧でした。私に行って、下に.bashrc.local追加cd ~/Desktop/repos/;しました。魅力のように働いた!の底を変更する .bashrcこともできます。
マイケルディミット2017

〜で.bashrcファイルを作成したばかりで、次にgit Bashを開いたときに、.bash_profileと別のファイルがないため、ファイルが作成されたというメッセージが表示されました。そしてgit Bashを再び開いた後、それはフラワーレスで機能しました!
Pini Cheyni 2017年

スタートアップコマンド(ショートカットのプロパティ)の--cd-to-homeオプションを削除する
telebog

38

私は次の ようにGit Bashを起動するタスクがあるConEmu (Windowsでは強く推奨)を使用しています

ここに画像の説明を入力してください

下部にある「Startup dir ...」ボタンに注意してください。-new_console:d:<path>Git Bashの起動コマンドにを追加します。好きな場所を指すようにします


カスタムタスクを共有してくれてありがとう、それを機能させることができませんでした。その後、たとえばGoogle.comにpingするなど、単純なWindowsコマンドをどのように実行できますか?
イマンモハマディ2014年

1
@ImanMohamadiそのようなことについては、PATH環境変数に追加してスクリプトを作成したいのですが、st u canはp-ggoogleへのpingのようなコマンドを実行できます...
Juri

23

これはあなたを助けるかもしれません。

画像の説明

  1. git bashを右クリック->プロパティ
  2. ショートカットタブ->フィールドで開始->ユーザー定義のパスを入力
  3. [ターゲット]フィールドに含まれていないことを確認してください。そうしない--go-to-homeと、HOME変数で指定されたディレクトリから開始されます。

それでおしまい。


私はそれを試しましたが、パスがd:\ projects \ testのような別のドライブにあるときは機能しません
Ray

Windows 10はgit bashのタブを表示しませんが、この小さな3行のコードを使用してハッキングできます。batファイル1. d: 2. cd data 3.git bashをダブルクリックすると、それをいくつかの**。batファイルに保存して 、目的の場所で開く
クリッシュ

1
そのTargetフィールドを見てください、それはパラメータを持っていません。デフォルトでは-go-to-home、そこから消去する必要があるものが含まれています。
クラピカ2017年

1
それは私のために動作しますターゲット: "C:\ Program Files \ Git \ git-bash.exe"(重要)開始:d:/ xampp / htdocs /
raftaar1191

1
@ raftaar1191と同じターゲットでも動作し(「--cd-to-home」オプションを削除しました)、「start in」行を「C:\ wamp \ www」に設定したので、非常に便利です。
nayfun 2018年

10

また、ショートカットアイコンの[開始]設定を次のように変更しました。 %HOMEDRIVE%/xampp/htdocs/


9

これは、コマンドラインを開くたびにこれが実行されることを前提として行われます。

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

シェルを開くと、ホームから3つ上のディレクトリに移動し、code_sourceに変更されます。

このコードは、「cd ../../../d/work_space_for_my_company/project/code_source」という行を「.bashrc」という名前のファイルに追加するだけです。「>>」は、存在しない場合はファイルを作成してから追加します。.bashrcファイルは、起動/ログイン時にコマンドを実行する(つまり、モジュールのロードなど)のに役立ちます。


9

(以下の警告をお読みください)

Windowsでこれを実行する本当に簡単な方法(git bashなどで動作します)は、目的のホームディレクトリを指すHOMEと呼ばれる環境変数を作成することです。

  1. コンピュータを右クリックして、プロパティを選択します
  2. 詳細なシステム設定を選択します(場所はWindowsのバージョンによって異なります)
  3. システムプロパティ内で、詳細タブを選択します
  4. 詳細タブで、環境変数(下のボタン)を選択します。
  5. 「システム変数」で、HOMEという変数がすでにあるかどうかを確認します。その場合は、変数名を強調表示して[編集]をクリックし、その変数を編集します。新しい変数名を目的のパスにします。
  6. HOMEがまだ存在しない場合は、システム変数の下の「新規」をクリックして、希望するパスを値とするHOMEという新しい変数を作成します。

環境変数

注:これにより、他の動作が変わる場合があります。たとえば、私にとっては、.ssh構成ファイルの場所が変更されます。私の場合、自分の家をU:\にしたかったのは、それがプロジェクトの作業とアプリケーションの設定を配置する私の主要な場所だからです(つまり、実際には、私の「ホーム」ディレクトリです)。

EDIT 2017年6月23日:この回答は時々賛成票を獲得し続けています。これは「うまくいく」かもしれませんが、@ AnthonyRaymondに同意しないことを人々に警告したいと思います。これは一時的な修正または他のものが壊れてもかまわない場合の修正です。家を変更しても、アクティブな損傷(ハードドライブの削除など)は発生しませんが、後で油断のない煩わしさを引き起こす可能性があります。将来、厄介な問題が発生し始めたときは、おそらくこの変更を覚えていないでしょう...後で頭を悩ますことでしょう!


@asalleによって提案された編集(主にユーザーのシステム変数も編集できることを示唆)がBamsworld fish_ballとgreg-449で拒否された理由がわかりません。編集は妥当なように見えました。
ジェネラマ2016

これは破壊的な方法でありすぎて、良いアイデアとは言えません。それは他の多くのアプリケーションやウィンドウにさえ影響を与える可能性があります。お勧めしません
アンソニーレイモンド

@AnthonyRaymond前述のように、「HOME」を変更すると他の結果が生じる可能性がありますが、必ずしも破壊的であるとは言えません。実際、HOMEを特定の場所にしたい場合、または別のアプリケーションがHOMEを望ましくない場所に設定している場合は、有益な場合があります。いずれにせよ、この答えは、デフォルトのディレクトリがどのように設定されているかについていくつかの光を当てると思います。
ジェネラマ2016

@AnthonyRaymond私は同意しますが、この質問のコンテキストでは、特定のプロジェクト(例:)にホームを設定すること../../../d/work_space_for_my_company/project/code_sourceは悪い考えです。ただし一般的に言えば、HOMEである必要がない場合もあります/c/Users/[current user name]/
ジェネラマ2016

特別なフォルダが別の場所を指すようにする場合は、symlinkを作成します。technet.microsoft.com/en-us/library/cc753194(v=ws.11).aspxどのプログラムがHOME変数を使用しているかを知る方法がありません。少し破壊的だと思います。
アンソニーレイモンド

7

Git Bashアプリケーションのリンクを右クリックして[プロパティ]に移動し、[開始場所]を変更して、開始する場所に変更します。


5

Windows 10の固定されたスタートメニュー項目から

  1. ピン留めされたショートカットのファイルの場所を開く
  2. ショートカットのプロパティを開きます
    1. --cd-to-home引数を削除
    2. Start inパスを更新
  3. 最近追加されたものを介してスタートメニューに再度ピン留め

ファイルの場所のスクリーンショットを開く

ショートカットプロパティのスクリーンショットを開く

ショートカットプロパティのスクリーンショットを更新

最近追加されたscrenshotを介して固定


これを行う方法についての他のすべての回答に感謝します!勝利10の指示を提供したかった...


4

Windowsの場合:次の手順に従います

  1. Windowsのホームに移動> [Git Bash]アプリケーションを右クリックします。
  2. プロパティ>ショートカット
  3. これらの2つの設定を変更します()削除- cd-to-homeからtarget あなたが「でスタート」でのgitを開始したい(b)のタイプのフォルダパス。

これは私のために働きました:)


3

GIT bashを開いたときにプロジェクトの選択リスト必要な場合:

  • ppathgitプロジェクトパスのコードヘッダーを編集し、このコードを.bashrcファイルに入れて$ HOMEディレクトリにコピーします(Win Vista / 7では通常c:\ Users \ $ YOUです

。

#!/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
  • このファイルをGIT bash chmod + x .bashrc内で実行可能として設定することもできます(ただし、このファイルはntfsファイルシステムに格納されているため、おそらく冗長です)。

2

CDを作業ディレクトリの〜/ .bashrcに置くと、WindowsのGit Bashショートカットに不満が出ました。

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はこの.bash_profileを作成しました。

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

どちらが仕事をします。

または、.bashrcをもう一度削除して、cdコマンドを.bash_profileに配置することもできます。

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

$ cat ~/.bash_profile
cd Source/Repos

これが完了すると、ウィンドウを閉じ、デスクトップショートカットを使用して再度開くことができます。プロンプトが表示され、現在の場所が目的の場所にあることが示されます。これは私の場合のようです。

Administrator@raptor1 MINGW64 ~/Source/Repos
$

2

このコマンドを入力すると: echo cd d:/some/path >> ~/.bashrc

cd d:/some/pathをに追加します.bashrc>>それが存在しない場合は、ファイルを作成し、追加します。


1

それは違いない cd d:/work_space_for_....

それなし:では私にはうまくいきません


1

Windowsユーザーのもう1つの解決策は、Git Bash.lnkファイルを、開始する必要があるディレクトリにコピーし、そこから起動することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.