
cygwinをインストールし、UNIXについて勉強しようと
「CygwinでUNIX入門 WindowsでUNIXを使う本」を見ながらやっているのですが、
P040~P041に書かれている「日本語ファイルをlsで表示するには」
でつまってしまいました。
まず、
$ls /mnt/c/Documents\ and\ Settings/cygwin/ --show-control-char
と入力すると、スタートメニューやデスクトップが文字化けせずに表示されます。
毎回オプションを入力するのは大変なので、これをエイリアスにしてみようというところです。
そこで本に書いてあるとおり
C:\cygwin\home\cygwin\
内にある.bashrcファイルに
alias ls="ls --show-control-chars"
と入力してみます。
(実際にはviエディタを使用して入力しました)
cygwinを再起動したら正しく日本語が表示されるはずが、
うまくいきませんでした。
オプションを設定していないときと同じ結果になりました。
つまり、エイリアスが機能しないです。
同様に-alオプションでも試してみましたが、うまくいきません。
何か間違っていますでしょうか?
No.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を見てください。
再びご回答ありがとうございます。
.bash_profileを検索してみますと
C:\cygwin\etc\skel
C:\cygwin\etc\defaults\etc\skel
の2箇所にありましたが、ホームディレクトリには
ありませんでした。
このうちの一つをホームディレクトリにコピーしてcygwinを
起動すると、ちゃんとaliasを認識してくれました。
本には何も書いていなかったのですが、2003年ころの本なんで
少し変わったのですかね?
なにはともあれ問題は解決しました。
また、~/が何なのかも気になっていたのですが、
ホームディレクトリの意味であるということを教えていただいて
すっきりしました。
今度部署が変わってそこでUNIXを使わなくてはならず、
勉強していたのですが、疑問が解決してよかったです。
本当にありがとうございました。
No.1
- 回答日時:
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はもともとあったもので、内容はいろいろ書いてありましたが
全行コメントアウト(先頭に#がついています)されていました。
長文になってしまいましたが、現状は上記のようになってます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SONYの音楽ソフト「x-アプリ」...
-
pingは正常なのにtracerouteで...
-
SPI非言語の問題 解説お願いします
-
エクセルの表にヘンな枠が・・・
-
emacsでCtrl+zを押してサスペン...
-
コマンドプロンプトとcmdの違い
-
sudoで実行したコマンドの実行...
-
Linux のシェルスクリプトの強...
-
CRONを隔週の日曜日に実行させたい
-
「管理者権限で実行」を選ばな...
-
ShellExecuteExでスペースを含...
-
「もっと」と「さらに」は、ど...
-
Linuxで実行ファイルを実行
-
cygwin bashrc エイリアスがう...
-
Openイベントを開始させないで...
-
Config.ntのエラーって?
-
PowerShellのスクリプト実行に...
-
落とし前の付け方が分からない
-
GCCアセンブラーレベルの割込み...
-
デフラグの目安
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SONYの音楽ソフト「x-アプリ」...
-
エクセルの表にヘンな枠が・・・
-
大手町駅。それはホームから非...
-
pingは正常なのにtracerouteで...
-
お気に入りの処理について。
-
文化祭の書類で不備がありました
-
Linux のシェルスクリプトの強...
-
党首討論を見てます。 この石破...
-
windows10のごみ箱をrd /s /q C...
-
最初の一度しか実行されないロ...
-
python IDLEで訂正、削除のやり...
-
バッチファイル内の各コマンド...
-
SPI非言語の問題 解説お願いします
-
Openイベントを開始させないで...
-
時間のマクロで最初はその時間...
-
sudoで実行したコマンドの実行...
-
emacsでCtrl+zを押してサスペン...
-
PowerShellのスクリプト実行に...
-
シャットダウンバッチがうまく...
-
LD_LIBRARY_PATHって?
おすすめ情報