質問編集履歴

3

補足情報を追加

2018/12/08 13:15

投稿

Mild_Boss
Mild_Boss

スコア13

test CHANGED
File without changes
test CHANGED
@@ -6,17 +6,39 @@
6
6
 
7
7
 
8
8
 
9
- それらがどこで定義されたがを知る良い方法ってありますか?
9
+ それらがどこで"定義"されたがを知る良い方法ってありますか?
10
+
11
+
12
+
13
+ 環境変数を指定すると、それがどこで定義されたのかさっと表示するようなコマンドや良い方法はないのでしょうか?
14
+
15
+ (後述しますが、printenv や grep で総当りする方法は試しましたが時間がかかるので"良い"方法とは思えません)
10
16
 
11
17
 
12
18
 
13
19
  例えばですが、
14
20
 
15
- file コマンドはファイルを指定するとそのファイルの種別教えてくれます。
21
+ type というコマンドは引数に指定されたコマンドがシェルのビルトイン関数か、もしそうでなかったらこのパスに存在するということ示してくれます。
16
22
 
17
- 環境変数を指定すると、それがどこで定義されたのかさっと表示するようなコマンドや方法はないのでしょうか?
18
23
 
24
+
25
+ ```bash
26
+
27
+ $ type cd
28
+
29
+ cd is a shell builtin
30
+
31
+ $ type python
32
+
33
+ python is /usr/bin/python
34
+
35
+ ```
36
+
37
+
38
+
39
+ このようにさっと(もしくは2桁秒程度の時間で)環境変数の定義情報について知らせてくれる方法はないのでしょうか…?
40
+
19
- そのコマンドを利用する、その環境変数なら /etc/profile で定義されと知らせてくれるような…)
41
+ envinfo HOGE 入力した「HOGE was defined in /etc/hoge/foo.conf」と出力されるような…)
20
42
 
21
43
 
22
44
 
@@ -30,4 +52,4 @@
30
52
 
31
53
 
32
54
 
33
- ぜひ、良い方法をご存知の方はお教えい。
55
+ ぜひ、良い方法をご存知の方はお教えいたければ幸です

2

日本語文法ミス修正

2018/12/08 13:15

投稿

Mild_Boss
Mild_Boss

スコア13

test CHANGED
File without changes
test CHANGED
@@ -22,9 +22,9 @@
22
22
 
23
23
  補足:
24
24
 
25
- 試しに、printenv で表示される環境変数に対して /etc とホームディレクトリ配下のテキストファイル内に grep/fgrep して定義されている箇所があるかを調べるシェルスクリプトを作ってみました。
25
+ 試しに、printenv で表示される環境変数に対して /etc とホームディレクトリ配下のテキストファイル grep/fgrep してそれらが定義されている箇所があるかを調べるシェルスクリプトを作ってみました。
26
26
 
27
- ただし、すべての環境変数でこれをやるには時間がかかること(10分程度)といくつかの環境変数(e.g. $_, $OLDPWD)が見つかりませんでした。
27
+ ただし、すべての環境変数でこれをやるには時間がかかること(10分程度)といくつかの環境変数(e.g. $COLOURFG, $OLDPWD)が見つかりませんでした。
28
28
 
29
29
  OLDPWD や PWD などはログインシェルが勝手に定義してると知っているのですが、それ以外のものもあります。
30
30
 

1

例示の編集

2018/12/08 13:00

投稿

Mild_Boss
Mild_Boss

スコア13

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- それらがどこで定義されたか(例えば /etc/profile)を知る良い方法ってありますか?
9
+ それらがどこで定義されたを知る良い方法ってありますか?
10
10
 
11
11
 
12
12
 
@@ -15,6 +15,8 @@
15
15
  file コマンドはファイルを指定するとそのファイルの種別を教えてくれます。
16
16
 
17
17
  環境変数を指定すると、それがどこで定義されたのかさっと表示するようなコマンドや方法はないのでしょうか?
18
+
19
+ (そのコマンドを利用すると、その環境変数なら /etc/profile で定義されてると知らせてくれるような…)
18
20
 
19
21
 
20
22