web-dev-qa-db-ja.com

現在のフォルダーでbashを開くようにConsole2を構成します

私は見たことがあります this しかし、それは私にとってはうまくいきません。私はGitのバージョンのbashを使用していませんが、cygwinに付属しているバージョンを使用しているので、それが問題の一部である可能性があります。 Console2のタブを設定する方法は次のとおりです。

Title: bash.exe
Shell: C:\cygwin\bin\bash.exe --login -i
Startup dir: %HOMEDRIVE%%HOMEPATH%

これは私のレジストリエントリです:

Directory
    Shell
        Console2
            Open Console2 Here
            command
                "C:\Console2\Console.exe" -d "%1"

bashは、クリックしているディレクトリではなく、常にホームディレクトリで開始されます。その後、cd /cygdrive/d/code ...など。「Startupdir」フィールドの値を削除して、%1、%1%に変更してみましたが、うまくいきませんでした。

私も試しました この解決策 しかしそれは私にとってもうまくいきませんでした:

Title: bash.exe
Shell: C:\cygwin\bin\bash.exe -l

レジストリ:

Directory
    Shell
        Console2
            Open Console2 Here
            command
                "C:\Console2\Console.exe" -d "%V"

上記の解決策は、Gitに含まれているbash.exeとsh.exeのバージョンでは機能しますが、何らかの理由でcygwinに含まれているバージョンでは機能しません。まだこの理由を探しています。

編集

以下の回答を選択しましたが、適切なフォルダーに.profileファイルを作成していれば、上記の2番目の解決策は機能したと思います。 cygwinが使用するホームディレクトリではなく、通常のホームディレクトリに作成しようとし続けたため、スクリプトが実行されませんでした。これにより、.profileファイルは不要であると私は信じました。私が選択した答え(Hughに感謝)は、各スクリプト(.bash_profile、.bash_login、.profile、および.bashrc)がbashによってどのように使用されているかを明確に説明しており、間違った場所に配置していることがわかりました。

4
Big McLargeHuge

手動 から、

Bashが対話型ログインシェルとして、または--loginオプションを指定して非対話型シェルとして呼び出されると、最初にファイル/ etc/profile(ファイルが存在する場合)からコマンドを読み取って実行します。

/etc/profileには、デフォルトで次のコードが含まれています。

# Make sure we start in home unless invoked by CHERE
if [ ! -z "${CHERE_INVOKING}" ]; then
  unset CHERE_INVOKING
else
  cd "${HOME}" || echo "WARNING: Failed attempt to cd into ${HOME}!"
fi

したがって、1つの解決策は、bashを開始する前に環境変数CHERE_INVOKINGを設定するWindowsバッチファイルを作成することです。それはあまりきれいではありません。

次、

そのファイルを読み取った後、〜/ .bash_profile、〜/ .bash_login、および〜/ .profileをこの順序で検索し、最初に存在して読み取り可能なコマンドからコマンドを読み取って実行します。

これらのプロファイルスクリプトは、デフォルトで~/.bashrcスクリプトが存在する場合はそれを実行します。 cd -の最後に.bashrcを置くと、(最新のConsole2とCygwin bashを使用して)うまくいきます。

echo 'cd -' >> ~/.bashrc

ところで、引数なしでConsole2(Console.exe)を呼び出します-Windowsエクスプローラーは、右クリックしたディレクトリで起動することを確認します。 XPを使用していますが、MSが新しいバージョンのWindowsでこの動作を変更することはないと思います。また、Bashタブの「startupdir」オプションを空白のままにします。

5
Hugh Allen

次のように~/.profileを作成していないようです。

cd -

https://superuser.com/a/387273/139371

2
Maximus