
OSにCentOS5.7、シェルはtcshを利用しています。よろしくお願いします。
lsコマンドで表示されるファイルの色分けを変更するために、
ホームディレクトリに以下の設定ファイルを作り(~/.dir_colors)、
######## .dir_colorsの中身 ###################
NORMAL 32
FILE 32
DIR 34
OTHER_WRITABLE 32
.txt 31
###########################################
> eval `dircolors ~/.dir_colors -c`
として設定を反映させたつもりだったのですが、
実際にlsを実行してみると、いくつかの.txtファイルのうち、
ちゃんと赤色(31)で表示されるものと、緑色の太字(32;01)で表示されるものがありました。
>ls -l
として、実行権限を調べると、
実行権限のないテキストファイル(-rw-r--r--)が赤字で表示され、
実行権限つきのテキストファイル(-rwxr--r--)が緑太字で表示されていました。
================================================================================
実行権限の有無で、.dir_colors内の記述が反映される・されない、ということはあるのでしょうか?
(緑太字(32;01)はそもそも.dir_colors内に記述していないのですが、lsで表示されてしまいます。)
権限の有無に関わらず、同じ拡張子名に同じ色を当てたいのですが、良い方法があればご教授お願いします。
================================================================================
No.3ベストアンサー
- 回答日時:
こちらで確認したところ、LS_COLORSにないものは、デフォルトの設定が使われるようです。
EXEC
と、EXECに空のものを追加すると、無効にできるようです
そのかわり、全ての実行属性ファイルが色無しになってしまいます。
ご回答いただきありがとうございます。
こちらの環境でもご指摘の点が確認できました。
実行権限のあるなしに関わらず、
拡張子で色分けすることはかないませんでしたが、
「EXECに指定しない ---> デフォルトの設定が反映される」
ということが確認できただけでも収穫になりました。
重ねてお礼申し上げます。
No.2
- 回答日時:
LS_COLORSが無い、ということは、設定できていない、ということです。
> eval `dircolors ~/.dir_colors -c`
をどこに書きました?あるいは、どこで実行してますか?
dircolors自体は環境変数LS_COLORSを設定するためのシェルでのコマンドを出力するプログラム。それをevalで現在のシェルに適用することで、LS_COLORS環境変数を設定、lsはLS_COLORS環境変数の中身を見て色を決定します。
なので
・evalを実行したシェルと、それから呼び出されたシェルでのみ有効。
・ログアウトしたら 無効。設定のしなおし
となります。
常時使いたいときは、.loginとか.cshrcとかに記述します
ご回答ありがとうございます。
eval以下の命令文は~/.tcshrcに書きこんでいます。
前回の補足で私の方に勘違いがありまして、環境変数LS_COLORSはどうやらちゃんと設定されているようでした。(setコマンドで変数を確認していました。申し訳ありません。)
以下がその内容です。
LS_COLORS=no=32:fi=32:di=34:ow=32:*.txt=31:
しかし、これでもなお問題が解決されず、実行権限つきのファイルが緑太字で表示されてしまいます。
No.1
- 回答日時:
.dir_colorsの中身、それだけですか?
実行属性付きファイルの色は EXEC で指定します。
正しく設定できていれば、echo $LS_COLORSとしたときに
no=32:fi=32:di=34:ow=32:*.txt=31:
と表示されるはずです。そうではなくて、中に
ex=32;01
とかも混っていませんか?
この回答への補足
素早いご返答ありがとうございます。
.dir_colorsの中身は、上記したもののみで、
EXECでも指定していなかったのですが、
ご指摘いただいたとおりにechoしてみると
>echo $LS_COLORS
照合パターンに合いません.
となっており、$LS_COLORSという変数名が存在しませんでした。
正しく設定が反映されていないということでしょうか?
>eval `dircolors ~/.dir_colors -c`
で設定を反映したつもりだったのですが、
この方法が間違っているのでしょうか?
すいません、補足の記述の追加です。
LS_COLORSという変数名はないのですが、
COLORSという変数名で以下のような設定がありました。
>echo $COLORS
/etc/DIR_COLORS.xterm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インストールできないですどう...
-
Core 2 Duo の古いパソコンに最...
-
LinuxでWine使うとどのくらいWi...
-
ubuntu(linux)のシャットダウン...
-
ubuntuで デイスク/deb/loopと...
-
ubuntu 24 へのCanon 複合機ス...
-
windowsxpと同じくらい軽いLinu...
-
ssl_error_logのエラー内容(AH...
-
ログにserver reached MaxReque...
-
Ubuntu on Xorgのログインについて
-
VirtualBox 6.1 → 7.1 でUbuntu...
-
WinSCPでLinux(CentOS6.10)に...
-
unutu24でDISKINFOを読み取る方...
-
WineのRufusでデバイスを検知す...
-
ubuntu 22日本語Remixのisoイメ...
-
新しく買ったWin11のPCでLinux...
-
Lubuntuでとにかく軽量のバージ...
-
ssh接続しようとしたらエラーメ...
-
linuxのIMEの件
-
このエラー内容について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンド終了ステータス
-
FTPコマンドの戻り値について
-
cshの標準出力を制御したい
-
lsコマンドの色設定が反映されない
-
複数の処理を順番にログアウト...
-
kshでのcase文条件範囲について
-
cshで変数名の入れ子ができない
-
ping -cコマンドで指定した個数...
-
Linuxのシェルスクリプトをお客...
-
Shellのパターンマッチについて
-
Bシェルでパイプ→exitがうまく...
-
PHP4の Warning: pg_freeresul...
-
diskpart でパーティションの一...
-
cronでftp自動転送を行いたい
-
Bシェル内でのユーザー変更
-
シェルスクリプトからPHP実行
-
cshが詳しい方は教えてください
-
UNIX Cシェルで実数の比較
-
空白を含んだシェル変数の代入
-
Mac OSXのターミナルでemacsを起動
おすすめ情報