Windows 7では MinGW を使用しています。.bashrc
にいくつかのエイリアスが含まれています。このファイルは、MinGWが起動するホームフォルダーにあるので、そのフォルダーがホームフォルダーであると見なされます。フォルダーの内容は自動的には読み込まれません。エイリアスを機能させるには、bash
コマンドを実行する必要があります。
名前を.bash_profile
に変更してみました。これは自動的に読み込まれず、手動でbash
を実行したときに読み込まれなかったため、事態はさらに悪化しました。
この問題を解決するにはどうすればよいですか?
bash
は、ログインシェルとして開始されている可能性があります。その場合、.bashrc
は自動的に読み取られません。代わりに、.bash_profile
を読み取ります。 Bashマニュアル から:
したがって、通常、 `〜/ .bash_profile 'には次の行が含まれます
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
ログイン固有の初期化の後(または前)。
要約すると、ホームディレクトリに.bash_profile
ファイルを作成し、上記で引用した行を追加します。
bash
が実際にsh
として呼び出されている場合は、.profile
の代わりに.bash_profile
を使用する必要があります(「shで呼び出された名前」セクションを参照)。上記のbashの手動リンク)。
Windowsを実行していますXPと同じ問題がありました。HOWTO Create a MSYS Build Environment。
これは重要な行です:
ランタイムビルドと現在の作業ディレクトリを識別するために、以下を~/.profile
ファイルに追加できます。
MinGWシェルで.profile
を作成しました:
cd ~
touch .profile
Notepad ++ を使用して、.profile
という名前のUnix形式のテキストファイルとして編集し、ホームディレクトリC:\MinGW\msys\1.0\home\Your_Username_Here\.profile
に保存しました
次に、エイリアスを追加して保存しました。
alias n='nano -w'
次に、スタートメニューからMinGW Shellショートカットを起動したところ、うまくいきました! nano テキストの折り返しなし。
これがお役に立てば幸いです。
私は.bash_profileが機能するのを見つけられなかった(それが読み取られていなかった)ので、.profileアプローチをとり、その中に入れました:
exec bash
これは、現在のシェルを、.bashrcを読み取るbashの新たなスタートに置き換えます
.profileを使用すると、shがログイン時に使用され、bashではないことが示唆されると思います。
GITと共にインストールされたMINGWの私にとっては、働いた:.bash_profile put in C:\Users\[user_name]
これは、シェル(pwd)で〜が指すディレクトリでもあります。
そのように:)
@Koshmarrの線に沿って、少し異なります。ぼくの mingw64
、 git-scm.com からダウンロードすると、/c/Users/[user-name]
始めるとき。それでも私の家のドライブ(cd ~
)は/h/
。 .bashrc
および.bash_profile
私の~
ドライブとすべてが働いた。
.bash_profile
:
source ~/.bashrc;
MINGWがホームと見なす場所を見つけて、.bash_profile
そこ。
MSYS Bash初期化ファイルを設定する方法
Windows OSでは、Bashが使用する初期化ファイル(つまり、プロファイル、bash_profile、bashrc)を指す方法は、Linux OSとは異なります。
Windows OSとLinux OSの違いは、ファイルシステムの構造にあります。これにより、Bashファイルの場所とファイルの命名規則が異なります。
MSYS Bash初期化ファイル(つまり、プロファイル、bash_profile、およびbashrc)のセットアップ方法
1)WINOSで、「C:\ msys\1.0\etc \」にある「etc」フォルダーを開きます。注意。 「etc」フォルダー内に「profile」ファイルが表示されます。
2)ファイル拡張子のないファイルを保存します(つまり、保存するときに、ファイルの種類を「.all files」に設定して「.bash_profile」を「C:\ msys\1.0\home\USERNAME」に保存します。注意。 Linux OS Bashのセットアップで予想されるように、ファイル名の接頭辞としてドットがあります(例: '.bash_profile')。
2)ファイル拡張子のないファイルを保存します(つまり、保存するときに、ファイルの種類を「.all files」に設定して「.bashrc」を「C:\ msys\1.0\home\USERNAME」に保存します。注意。 Linux OS Bashのセットアップで予想されるように、ファイル名の接頭辞としてドットがあります(例: '.bash_profile')。
4)テキストエディターで「プロファイル」ファイルを開きます(崇高なテキストxが適切です)注:「プロファイル」のファイルの場所は「C:\ msys\1.0\etc \」です。
「プロファイル」ファイル内で、ファイルの最後にあるテキスト行までスクロールします(つまり、一番下までスクロールします)。Bashが現在のディレクトリをHOMEに変更することを示すテスト行が表示されます(MSYSでは、HOMEは「プロファイル」ファイル)
CD $HOME
5)「CD $ HOME」というテキストが含まれる行の前に、次のコードをコピーします。「profile」内にこのスクリプトを追加すると、MSYS bashにbash_profileを実行するように指示します#---------------- -------------------------------------------------- ---------#変更されたBEGIN
# Note. -f is a flag in the file-test operator set of bash commands
# that test whether file exists
echo '[i] INFO loading personal environment variables and startup programs.... '
BASHRC="$HOME/.bash_profile"
if [ -f "$BASHRC" ]; then
source "$BASHRC"
fi
#modified END
#---------------------------------------------------------------------------
6)「bash_profile」ファイルをテキストエディターで開き( Sublime Text xでよい)、ファイルの終わり(ファイルの下部)
7)ファイルの最後に次のコードをコピーします。このスクリプトを「.bash_profile」内に追加すると、「。bashrc」を実行するようにBashに指示されます
#---------------------------------------------------------------------------
#modified BEGIN
# Note. -f is a flag in the file-test operator set of bash commands
# that test whether file exists
BASHRC="$HOME/.bashrc"
if [ -f "$BASHRC" ]; then
source "$BASHRC"
fi
#modified END
#------------------------------------------------- --------------------------
8)それでは、「。bashrc」内に小さなスクリプトを記述して、「profile」が「bash_profile」を呼び出しているかどうか、および「bash_profile」が「.bashrc」を呼び出しているかどうかを確認しましょう。
8.1)作成したいコマンド名を考えてください。テストを意味する「t」を使用しましょう
8.2)Bashターミナルを開き、「t」と入力します。 Bashは「t:コマンドが見つかりません」と返信する必要があります。「t:コマンドが見つかりません」と表示されない場合は、コマンド名に「コマンドが見つかりません」と表示されるまで8.1と8.2を繰り返します。 bash BAD!に割り当てられているコマンド名にエイリアスを設定したくないので、「コマンドが見つかりません」である必要があります
8.3)わかりました、「t」は私に「t:コマンドが見つかりません」を与えました。では、スクリプトを '.bashrc'に書きましょう
8.4) '.bashrc'に
# Use double quotes or bash will not write it
alias t="echo passed test"
8.5)ファイル「.bashrc」を「C:\ msys\1.0\home\USERNAME」に保存します
9)もう少しです。 Bashターミナルを再起動し、以前に開いたBashターミナルを必ず閉じてください。
10)端末「t」を入力します。 「合格したテスト」と返信する必要があります。そうでない場合は、コードが正しく記述されていることを注意深く確認します(引用符の確認から始めます)。
注意事項1)「ソースファイル名」は「」と同じです。ファイル名'
2) ""二重引用符を使用すると、変数をその内容で置き換えることができます。単一引用符ではできません。
3)$ HOMEは/ home/USERNAMEであり、〜は/ home/USERNAMEと同じです
4)関数は常にエイリアスより優先されます 2
私はバッシュが初めてです。したがって、私がこれを最善の方法で行ったという保証はありません。
幸運を!