回答編集履歴

8

修正

2020/06/22 23:53

投稿

vega77
vega77

スコア17

test CHANGED
@@ -86,9 +86,9 @@
86
86
 
87
87
  get_VAL : rand_val.txt
88
88
 
89
- $(eval VAL := $(shell cat rand_val.txt))
89
+ $(eval VAL := $(shell cat $<))
90
90
 
91
- # $(eval VAL := `cat rand_val.txt`)
91
+ # $(eval VAL := `cat $<`)
92
92
 
93
93
  @rm -f $<
94
94
 

7

修正

2020/06/22 23:53

投稿

vega77
vega77

スコア17

test CHANGED
@@ -90,11 +90,13 @@
90
90
 
91
91
  # $(eval VAL := `cat rand_val.txt`)
92
92
 
93
+ @rm -f $<
94
+
93
95
 
94
96
 
95
97
  rand_val.txt :
96
98
 
97
- random.pl > rand_val.txt
99
+ random.pl > $@
98
100
 
99
101
  ```
100
102
 

6

追加

2020/06/22 23:49

投稿

vega77
vega77

スコア17

test CHANGED
@@ -70,11 +70,11 @@
70
70
 
71
71
  export DIR=$HOME/my_run_directory
72
72
 
73
- VAL := `cat rand_val.txt`
73
+ #VAL := `cat rand_val.txt`
74
74
 
75
75
 
76
76
 
77
- run : get_random
77
+ run : get_VAL
78
78
 
79
79
  echo $(VAL)
80
80
 
@@ -84,17 +84,47 @@
84
84
 
85
85
 
86
86
 
87
+ get_VAL : rand_val.txt
88
+
89
+ $(eval VAL := $(shell cat rand_val.txt))
90
+
91
+ # $(eval VAL := `cat rand_val.txt`)
92
+
93
+
94
+
87
- get_random :
95
+ rand_val.txt :
88
96
 
89
97
  random.pl > rand_val.txt
90
98
 
91
- # $(eval VAL := `cat rand_val.txt`)
99
+ ```
92
100
 
101
+ の様にすると分かりやすくて良いかもしれません。
102
+
103
+
104
+
105
+ あと、以下の最初にファイルにダンプする方法でも可能でした。
106
+
107
+
108
+
109
+ ```Makefile
110
+
111
+ export DIR=$HOME/my_run_directory
112
+
113
+ DUMP := `cat rand_val.txt > rand_val.txt`
114
+
93
- # $(eval VAL := $(shell cat rand_val.txt))
115
+ VAL := $(shell cat rand_val.txt)
116
+
117
+
118
+
119
+ run : get_VAL
120
+
121
+ echo $(VAL)
122
+
123
+ echo $(VAL)
124
+
125
+ echo $(VAL)
94
126
 
95
127
  ```
96
-
97
- の様にしても良いかもしれません。
98
128
 
99
129
 
100
130
 

5

追加

2020/06/18 00:32

投稿

vega77
vega77

スコア17

test CHANGED
@@ -88,6 +88,10 @@
88
88
 
89
89
  random.pl > rand_val.txt
90
90
 
91
+ # $(eval VAL := `cat rand_val.txt`)
92
+
93
+ # $(eval VAL := $(shell cat rand_val.txt))
94
+
91
95
  ```
92
96
 
93
97
  の様にしても良いかもしれません。

4

追加

2020/05/31 03:00

投稿

vega77
vega77

スコア17

test CHANGED
@@ -38,9 +38,27 @@
38
38
 
39
39
  ```
40
40
 
41
+ ```Makefile
42
+
43
+ export DIR=$HOME/my_run_directory
44
+
45
+ run :
46
+
47
+ random.pl > rand_val.txt
48
+
49
+ $(eval VAL := $(shell cat rand_val.txt))
50
+
51
+ echo $(VAL)
52
+
53
+ echo $(VAL)
54
+
55
+ echo $(VAL)
56
+
57
+ ```
41
58
 
42
59
 
60
+
43
- これらでできます。echoでVALを表示する前にrandom.plを実行してその結果を一旦ファイルにダンプします。そのファイルの内容をcatで表示しますが、そのコマンドをVALに設定します。下のやり方ではそれをrun内で$(eval )を使ってやっています。
61
+ これらでできます。echoでVALを表示する前にrandom.plを実行してその結果を一旦ファイルにダンプします。そのファイルの内容をcatで表示します。上二つではそのcatコマンドをVALにマクロとして設定します。一番下のやり方では$(sehll)を使ってcatで表示した結果をVALに入れています。
44
62
 
45
63
 
46
64
 
@@ -72,7 +90,7 @@
72
90
 
73
91
  ```
74
92
 
75
- しても良いかもしれません。
93
+ の様にしても良いかもしれません。
76
94
 
77
95
 
78
96
 

3

修正

2020/05/31 02:09

投稿

vega77
vega77

スコア17

test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
 
46
46
 
47
- VALにrandom.plの値取り込む部分を別にして
47
+ random.plを実行してファイルにダンプする部分を別にして
48
48
 
49
49
 
50
50
 

2

修正

2020/05/31 00:22

投稿

vega77
vega77

スコア17

test CHANGED
@@ -6,9 +6,23 @@
6
6
 
7
7
  export DIR=$HOME/my_run_directory
8
8
 
9
- VAL :=
9
+ VAL := `cat rand_val.txt`
10
10
 
11
+ run :
11
12
 
13
+ random.pl > rand_val.txt
14
+
15
+ echo $(VAL)
16
+
17
+ echo $(VAL)
18
+
19
+ echo $(VAL)
20
+
21
+ ```
22
+
23
+ ```Makefile
24
+
25
+ export DIR=$HOME/my_run_directory
12
26
 
13
27
  run :
14
28
 
@@ -26,9 +40,7 @@
26
40
 
27
41
 
28
42
 
29
- これでできます。echoでVALを表示する前にrandom.plを実行してその結果を一旦ファイルにダンプします。そのファイルの内容をcatで表示しますが、それを$(eval )でVALに取り込みます。
43
+ これでできます。echoでVALを表示する前にrandom.plを実行してその結果を一旦ファイルにダンプします。そのファイルの内容をcatで表示しますが、そのコマンドをVALに設定します。下のやり方ではそれをrun内で$(eval )を使ってやっています。
30
-
31
- random.plやrandom.pl | catの結果を直接$(eval )でVALに入れてみましたが、VALの値が全て異なってしまいました。どうしても一回ファイルダンプを経由しないとだめでした。
32
44
 
33
45
 
34
46
 
@@ -40,11 +52,11 @@
40
52
 
41
53
  export DIR=$HOME/my_run_directory
42
54
 
43
- VAL :=
55
+ VAL := `cat rand_val.txt`
44
56
 
45
57
 
46
58
 
47
- run : get_VAL
59
+ run : get_random
48
60
 
49
61
  echo $(VAL)
50
62
 
@@ -54,11 +66,9 @@
54
66
 
55
67
 
56
68
 
57
- get_VAL :
69
+ get_random :
58
70
 
59
71
  random.pl > rand_val.txt
60
-
61
- $(eval VAL := `cat rand_val.txt`)
62
72
 
63
73
  ```
64
74
 

1

大幅変更

2020/05/30 23:22

投稿

vega77
vega77

スコア17

test CHANGED
@@ -6,11 +6,15 @@
6
6
 
7
7
  export DIR=$HOME/my_run_directory
8
8
 
9
- VAL := $(shell `random.pl > random_val.txt`; cat random_val.txt)
9
+ VAL :=
10
10
 
11
11
 
12
12
 
13
- run :
13
+ run :
14
+
15
+ random.pl > rand_val.txt
16
+
17
+ $(eval VAL := `cat rand_val.txt`)
14
18
 
15
19
  echo $(VAL)
16
20
 
@@ -22,8 +26,44 @@
22
26
 
23
27
 
24
28
 
25
- これでできます。一回``の実行結果をrandom_val.txと言うファイルに貯めて、その内容をcatでというのshell実行してVALに代入しした
29
+ これでできます。echoVAL表示する前にrandom.plを実行してその結果を一旦ファイルにダンプします。そのファイルの内容をcatで表示しまが、それ$(eval )でVALに取り込み
30
+
31
+ random.plやrandom.pl | catの結果を直接$(eval )でVALに入れてみましたが、VALの値が全て異なってしまいました。どうしても一回ファイルダンプを経由しないとだめでした。
26
32
 
27
33
 
28
34
 
35
+ VALにrandom.plの値を取り込む部分を別にして
36
+
37
+
38
+
39
+ ```Makefile
40
+
41
+ export DIR=$HOME/my_run_directory
42
+
43
+ VAL :=
44
+
45
+
46
+
47
+ run : get_VAL
48
+
49
+ echo $(VAL)
50
+
51
+ echo $(VAL)
52
+
53
+ echo $(VAL)
54
+
55
+
56
+
57
+ get_VAL :
58
+
59
+ random.pl > rand_val.txt
60
+
61
+ $(eval VAL := `cat rand_val.txt`)
62
+
63
+ ```
64
+
65
+ としても良いかもしれません。
66
+
67
+
68
+
29
- う少し良い方法があると良ので。引き続き何か別の良い方法があればよろくお願いいます。
69
+ っと良い方法を思いついた人がいたら是非お願いします。引き続き回答を募集します。