質問するログイン新規登録

回答編集履歴

8

修正

2020/06/22 23:53

投稿

vega77
vega77

スコア17

answer CHANGED
@@ -42,8 +42,8 @@
42
42
  echo $(VAL)
43
43
 
44
44
  get_VAL : rand_val.txt
45
- $(eval VAL := $(shell cat rand_val.txt))
45
+ $(eval VAL := $(shell cat $<))
46
- # $(eval VAL := `cat rand_val.txt`)
46
+ # $(eval VAL := `cat $<`)
47
47
  @rm -f $<
48
48
 
49
49
  rand_val.txt :

7

修正

2020/06/22 23:53

投稿

vega77
vega77

スコア17

answer CHANGED
@@ -44,9 +44,10 @@
44
44
  get_VAL : rand_val.txt
45
45
  $(eval VAL := $(shell cat rand_val.txt))
46
46
  # $(eval VAL := `cat rand_val.txt`)
47
+ @rm -f $<
47
48
 
48
49
  rand_val.txt :
49
- random.pl > rand_val.txt
50
+ random.pl > $@
50
51
  ```
51
52
  の様にすると分かりやすくて良いかもしれません。
52
53
 

6

追加

2020/06/22 23:49

投稿

vega77
vega77

スコア17

answer CHANGED
@@ -34,18 +34,33 @@
34
34
 
35
35
  ```Makefile
36
36
  export DIR=$HOME/my_run_directory
37
- VAL := `cat rand_val.txt`
37
+ #VAL := `cat rand_val.txt`
38
38
 
39
- run : get_random
39
+ run : get_VAL
40
40
  echo $(VAL)
41
41
  echo $(VAL)
42
42
  echo $(VAL)
43
43
 
44
+ get_VAL : rand_val.txt
45
+ $(eval VAL := $(shell cat rand_val.txt))
46
+ # $(eval VAL := `cat rand_val.txt`)
47
+
44
- get_random :
48
+ rand_val.txt :
45
49
  random.pl > rand_val.txt
46
- # $(eval VAL := `cat rand_val.txt`)
47
- # $(eval VAL := $(shell cat rand_val.txt))
48
50
  ```
49
- の様に良いかもしれません。
51
+ の様にすると分かりやすくて良いかもしれません。
50
52
 
53
+ あと、以下の最初にファイルにダンプする方法でも可能でした。
54
+
55
+ ```Makefile
56
+ export DIR=$HOME/my_run_directory
57
+ DUMP := `cat rand_val.txt > rand_val.txt`
58
+ VAL := $(shell cat rand_val.txt)
59
+
60
+ run : get_VAL
61
+ echo $(VAL)
62
+ echo $(VAL)
63
+ echo $(VAL)
64
+ ```
65
+
51
66
  もっと良い方法を思いついた人がいたら是非お願いします。引き続き回答を募集します。

5

追加

2020/06/18 00:32

投稿

vega77
vega77

スコア17

answer CHANGED
@@ -43,6 +43,8 @@
43
43
 
44
44
  get_random :
45
45
  random.pl > rand_val.txt
46
+ # $(eval VAL := `cat rand_val.txt`)
47
+ # $(eval VAL := $(shell cat rand_val.txt))
46
48
  ```
47
49
  の様にしても良いかもしれません。
48
50
 

4

追加

2020/05/31 03:00

投稿

vega77
vega77

スコア17

answer CHANGED
@@ -18,8 +18,17 @@
18
18
  echo $(VAL)
19
19
  echo $(VAL)
20
20
  ```
21
+ ```Makefile
22
+ export DIR=$HOME/my_run_directory
23
+ run :
24
+ random.pl > rand_val.txt
25
+ $(eval VAL := $(shell cat rand_val.txt))
26
+ echo $(VAL)
27
+ echo $(VAL)
28
+ echo $(VAL)
29
+ ```
21
30
 
22
- これらでできます。echoでVALを表示する前にrandom.plを実行してその結果を一旦ファイルにダンプします。そのファイルの内容をcatで表示しますが、そのコマンドをVALに設定します。下のやり方ではそれをrun内で$(eval )を使ってやっています。
31
+ これらでできます。echoでVALを表示する前にrandom.plを実行してその結果を一旦ファイルにダンプします。そのファイルの内容をcatで表示します。上二つではそのcatコマンドをVALにマクロとして設定します。一番下のやり方では$(sehll)を使ってcatで表示した結果をVALに入れています。
23
32
 
24
33
  random.plを実行してファイルにダンプする部分を別にして
25
34
 
@@ -35,6 +44,6 @@
35
44
  get_random :
36
45
  random.pl > rand_val.txt
37
46
  ```
38
- しても良いかもしれません。
47
+ の様にしても良いかもしれません。
39
48
 
40
49
  もっと良い方法を思いついた人がいたら是非お願いします。引き続き回答を募集します。

3

修正

2020/05/31 02:09

投稿

vega77
vega77

スコア17

answer CHANGED
@@ -21,7 +21,7 @@
21
21
 
22
22
  これらでできます。echoでVALを表示する前にrandom.plを実行してその結果を一旦ファイルにダンプします。そのファイルの内容をcatで表示しますが、そのコマンドをVALに設定します。下のやり方ではそれをrun内で$(eval )を使ってやっています。
23
23
 
24
- VALにrandom.plの値取り込む部分を別にして
24
+ random.plを実行してファイルにダンプする部分を別にして
25
25
 
26
26
  ```Makefile
27
27
  export DIR=$HOME/my_run_directory

2

修正

2020/05/31 00:22

投稿

vega77
vega77

スコア17

answer CHANGED
@@ -2,33 +2,38 @@
2
2
 
3
3
  ```Makefile
4
4
  export DIR=$HOME/my_run_directory
5
- VAL :=
5
+ VAL := `cat rand_val.txt`
6
-
7
6
  run :
8
7
  random.pl > rand_val.txt
8
+ echo $(VAL)
9
+ echo $(VAL)
10
+ echo $(VAL)
11
+ ```
12
+ ```Makefile
13
+ export DIR=$HOME/my_run_directory
14
+ run :
15
+ random.pl > rand_val.txt
9
16
  $(eval VAL := `cat rand_val.txt`)
10
17
  echo $(VAL)
11
18
  echo $(VAL)
12
19
  echo $(VAL)
13
20
  ```
14
21
 
15
- これでできます。echoでVALを表示する前にrandom.plを実行してその結果を一旦ファイルにダンプします。そのファイルの内容をcatで表示しますが、それを$(eval )でVALに取り込みます。
22
+ これでできます。echoでVALを表示する前にrandom.plを実行してその結果を一旦ファイルにダンプします。そのファイルの内容をcatで表示しますが、そのコマンドをVALに設定します。下のやり方ではそれをrun内で$(eval )を使ってやっています。
16
- random.plやrandom.pl | catの結果を直接$(eval )でVALに入れてみましたが、VALの値が全て異なってしまいました。どうしても一回ファイルダンプを経由しないとだめでした。
17
23
 
18
24
  VALにrandom.plの値を取り込む部分を別にして
19
25
 
20
26
  ```Makefile
21
27
  export DIR=$HOME/my_run_directory
22
- VAL :=
28
+ VAL := `cat rand_val.txt`
23
29
 
24
- run : get_VAL
30
+ run : get_random
25
31
  echo $(VAL)
26
32
  echo $(VAL)
27
33
  echo $(VAL)
28
34
 
29
- get_VAL :
35
+ get_random :
30
36
  random.pl > rand_val.txt
31
- $(eval VAL := `cat rand_val.txt`)
32
37
  ```
33
38
  としても良いかもしれません。
34
39
 

1

大幅変更

2020/05/30 23:22

投稿

vega77
vega77

スコア17

answer CHANGED
@@ -2,14 +2,34 @@
2
2
 
3
3
  ```Makefile
4
4
  export DIR=$HOME/my_run_directory
5
- VAL := $(shell `random.pl > random_val.txt`; cat random_val.txt)
5
+ VAL :=
6
6
 
7
- run :
7
+ run :
8
+ random.pl > rand_val.txt
9
+ $(eval VAL := `cat rand_val.txt`)
8
10
  echo $(VAL)
9
11
  echo $(VAL)
10
12
  echo $(VAL)
11
13
  ```
12
14
 
13
- これでできます。一回``実行結果をrandom_val.txと言うファイルに貯めて、その内容をcatでというのshell実行してVALに代入しした
15
+ これでできます。echoVALを表示する前にrandom.plを実行してその結果を一旦ファイルにダンプします。そのファイルの内容をcatで表示しまが、それ$(eval )でVALに取り込み
16
+ random.plやrandom.pl | catの結果を直接$(eval )でVALに入れてみましたが、VALの値が全て異なってしまいました。どうしても一回ファイルダンプを経由しないとだめでした。
14
17
 
18
+ VALにrandom.plの値を取り込む部分を別にして
19
+
20
+ ```Makefile
21
+ export DIR=$HOME/my_run_directory
22
+ VAL :=
23
+
24
+ run : get_VAL
25
+ echo $(VAL)
26
+ echo $(VAL)
27
+ echo $(VAL)
28
+
29
+ get_VAL :
30
+ random.pl > rand_val.txt
31
+ $(eval VAL := `cat rand_val.txt`)
32
+ ```
33
+ としても良いかもしれません。
34
+
15
- う少し良い方法があると良ので。引き続き何か別の良い方法があればよろくお願いいます。
35
+ っと良い方法を思いついた人がいたら是非お願いします。引き続き回答を募集します。