回答編集履歴

2

Fix answer

2020/08/08 04:21

投稿

y_shinoda
y_shinoda

スコア3272

test CHANGED
@@ -1,12 +1,12 @@
1
- Bash では、変数を文字列として使いたいときは、`"` で囲っておくと失敗いです:
1
+ Bash では、変数を文字列として使いたいときは、`"` で囲っておくと失敗に気付きやすいです:
2
2
 
3
3
 
4
4
 
5
5
  ```bash
6
6
 
7
- !/bin/bash
7
+ #!/bin/bash
8
8
 
9
- dirname="/home/taiki/workspace/niconico-ranking-rss"
9
+ dirname = "/home/taiki/workspace/niconico-ranking-rss"
10
10
 
11
11
  mkdir -p "$dirname"
12
12
 
@@ -14,4 +14,40 @@
14
14
 
15
15
 
16
16
 
17
+ 実行結果:
18
+
19
+
20
+
21
+ ```console
22
+
23
+ $ ./test.sh
24
+
25
+ .
26
+
27
+ /home/taiki/workspace
28
+
29
+ mkdir: cannot create directory '': No such file or directory
30
+
31
+ ```
32
+
33
+
34
+
17
35
  参考: [Answer: mkdir error in bash script ](https://stackoverflow.com/a/2743818/12721873?stw=2)
36
+
37
+
38
+
39
+ この場合、代入文の前にスペースが入っているために変数が空文字として出力されています
40
+
41
+ 次のように修正すると動作します:
42
+
43
+
44
+
45
+ ```bash
46
+
47
+ #!/bin/bash
48
+
49
+ dirname="/home/taiki/workspace/niconico-ranking-rss"
50
+
51
+ mkdir -p $dirname
52
+
53
+ ```

1

Fix answer

2020/08/08 04:21

投稿

y_shinoda
y_shinoda

スコア3272

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  !/bin/bash
8
8
 
9
- dirname = "/home/taiki/workspace/niconico-ranking-rss"
9
+ dirname="/home/taiki/workspace/niconico-ranking-rss"
10
10
 
11
11
  mkdir -p "$dirname"
12
12