質問編集履歴
3
補足情報を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,16 +2,27 @@
|
|
2
2
|
|
3
3
|
例えば、ターミナル上で printenv コマンドを実行すると現在の環境変数の一覧を知ることが出来ます。
|
4
4
|
|
5
|
-
それらがどこで定義されたがを知る良い方法ってありますか?
|
5
|
+
それらがどこで"定義"されたがを知る良い方法ってありますか?
|
6
6
|
|
7
|
+
環境変数を指定すると、それがどこで定義されたのかさっと表示するようなコマンドや良い方法はないのでしょうか?
|
8
|
+
(後述しますが、printenv や grep で総当りする方法は試しましたが時間がかかるので"良い"方法とは思えません)
|
9
|
+
|
7
10
|
例えばですが、
|
8
|
-
file コマンドはファイルを指定するとそのファイルの種別を教えてくれます。
|
9
|
-
環境変数を指定すると、それがどこで定義されたのかさっと表示するようなコマンドや方法はないのでしょうか?
|
10
|
-
|
11
|
+
type というコマンドは引数に指定されたコマンドがシェルのビルトイン関数か、もしそうでなかったらこのパスに存在するということを示してくれます。
|
11
12
|
|
13
|
+
```bash
|
14
|
+
$ type cd
|
15
|
+
cd is a shell builtin
|
16
|
+
$ type python
|
17
|
+
python is /usr/bin/python
|
18
|
+
```
|
19
|
+
|
20
|
+
このようにさっと(もしくは2桁秒程度の時間で)環境変数の定義情報について知らせてくれる方法はないのでしょうか…?
|
21
|
+
(envinfo HOGE と入力したら「HOGE was defined in /etc/hoge/foo.conf」と出力されるような…)
|
22
|
+
|
12
23
|
補足:
|
13
24
|
試しに、printenv で表示される環境変数に対して /etc とホームディレクトリ配下の全テキストファイルを grep/fgrep してそれらが定義されている箇所があるかを調べるシェルスクリプトを作ってみました。
|
14
25
|
ただし、すべての環境変数でこれをやるには時間がかかること(10分程度)といくつかの環境変数(e.g. $COLOURFG, $OLDPWD)が見つかりませんでした。
|
15
26
|
OLDPWD や PWD などはログインシェルが勝手に定義してると知っているのですが、それ以外のものもあります。
|
16
27
|
|
17
|
-
ぜひ、良い方法をご存知の方はお教え
|
28
|
+
ぜひ、良い方法をご存知の方はお教えいただければ幸いです。
|
2
日本語文法ミス修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,8 +10,8 @@
|
|
10
10
|
(そのコマンドを利用すると、その環境変数なら /etc/profile で定義されてると知らせてくれるような…)
|
11
11
|
|
12
12
|
補足:
|
13
|
-
試しに、printenv で表示される環境変数に対して /etc とホームディレクトリ配下のテキストファイル
|
13
|
+
試しに、printenv で表示される環境変数に対して /etc とホームディレクトリ配下の全テキストファイルを grep/fgrep してそれらが定義されている箇所があるかを調べるシェルスクリプトを作ってみました。
|
14
|
-
ただし、すべての環境変数でこれをやるには時間がかかること(10分程度)といくつかの環境変数(e.g. $
|
14
|
+
ただし、すべての環境変数でこれをやるには時間がかかること(10分程度)といくつかの環境変数(e.g. $COLOURFG, $OLDPWD)が見つかりませんでした。
|
15
15
|
OLDPWD や PWD などはログインシェルが勝手に定義してると知っているのですが、それ以外のものもあります。
|
16
16
|
|
17
17
|
ぜひ、良い方法をご存知の方はお教えください。
|
1
例示の編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,11 +2,12 @@
|
|
2
2
|
|
3
3
|
例えば、ターミナル上で printenv コマンドを実行すると現在の環境変数の一覧を知ることが出来ます。
|
4
4
|
|
5
|
-
それらがどこで定義された
|
5
|
+
それらがどこで定義されたがを知る良い方法ってありますか?
|
6
6
|
|
7
7
|
例えばですが、
|
8
8
|
file コマンドはファイルを指定するとそのファイルの種別を教えてくれます。
|
9
9
|
環境変数を指定すると、それがどこで定義されたのかさっと表示するようなコマンドや方法はないのでしょうか?
|
10
|
+
(そのコマンドを利用すると、その環境変数なら /etc/profile で定義されてると知らせてくれるような…)
|
10
11
|
|
11
12
|
補足:
|
12
13
|
試しに、printenv で表示される環境変数に対して /etc とホームディレクトリ配下のテキストファイル内に grep/fgrep して定義されている箇所があるかを調べるシェルスクリプトを作ってみました。
|