- ベストアンサー
CygwinでUNIX入門 WindowsでUNIXを使う方法
- Cygwinを使ってWindows上でUNIXを学んでいますが、エイリアスがうまく機能しません。
- 特に日本語ファイルの表示に関して問題があります。
- エイリアスの設定を行ったにもかかわらず、正しく表示されずに困っています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
忘れてました。 Cygwin Bash Shellアイコンをダブルクリックすると、bashは、~/.bash_profileを実行します(「~/」はホームディレクトリの意)。この中に、 > if [ -e /etc/bash.bashrc ] ; then > source /etc/bash.bashrc > fi > > if [ -e ~/.bashrc ] ; then > source ~/.bashrc > fi の様な部分があって、~/.bashrcが実行される仕組みです。 実際、~/.bash_profileを削除して、Cygwin Bash Shellを起動すると、~/.bashrcに記述したaliasが設定されなくなります。 ですので、~/.bash_profileが存在しているか、存在していればその内容を確認してください。 詳しくは、bashのman pageを見てください。
その他の回答 (1)
- ken-etsu
- ベストアンサー率46% (55/119)
Bashからaliasと実行すると、設定したaliasは表示されますか? そのC:\cygwin\home\cygwin\.bashrcは、bash起動時に実行されてますか? ホームディレクトリは、C:\cygwin\home\cygwinですか?Bashからcygpath -w `echo $HOME`で確認できます。.bashrcは、ホームディレクトリに置く必要があります。
お礼
ken-etsu様 回答ありがとうございます。 ご指摘内容を確認してみました。 >Bashからaliasと実行すると、設定したaliasは表示されますか? cygwinを起動して $ alias と入力すると alias mc='. /usr/share/mc/bin/mc-wrapper.sh' と表示されます。 .bachrcファイルに書いた alias ls="ls --show-control-chars" は表示されません。 >そのC:\cygwin\home\cygwin\.bashrcは、 >bash起動時に実行されてますか? すみません。確認方法がわかりません。 タスクマネージャのプロセスを見ると cygwinを起動しているときはbash.exeが実行されているようです。 C:\cygwin\home\cygwin\.bashrcが実行していること になりますでしょうか? >ホームディレクトリは、C:\cygwin\home\cygwinですか? >Bashからcygpath -w `echo $HOME`で確認できます。 >.bashrcは、ホームディレクトリに置く必要があります。 $ cygpath -w `echo $HOME` と入力すると C:\cygwin\home\cygwin と表示されました。 ホームディレクトリは C:\cygwin\home\cygwinになっていると思います。 (補足) $ source .bashrc と入力するとaliasが有効になるのですが、 cygwinを再起動すると有効でなくなります。 .bashrcファイルを検索すると 1 C:\cygwin\etc\skel 2 C:\cygwin\home\cygwin 3 C:\cygwin\etc\defaults\etc\skel にありました。2に入っているものは自分で作ったものです。 1と3はもともとあったもので、内容はいろいろ書いてありましたが 全行コメントアウト(先頭に#がついています)されていました。 長文になってしまいましたが、現状は上記のようになってます。
お礼
再びご回答ありがとうございます。 .bash_profileを検索してみますと C:\cygwin\etc\skel C:\cygwin\etc\defaults\etc\skel の2箇所にありましたが、ホームディレクトリには ありませんでした。 このうちの一つをホームディレクトリにコピーしてcygwinを 起動すると、ちゃんとaliasを認識してくれました。 本には何も書いていなかったのですが、2003年ころの本なんで 少し変わったのですかね? なにはともあれ問題は解決しました。 また、~/が何なのかも気になっていたのですが、 ホームディレクトリの意味であるということを教えていただいて すっきりしました。 今度部署が変わってそこでUNIXを使わなくてはならず、 勉強していたのですが、疑問が解決してよかったです。 本当にありがとうございました。