回答編集履歴

3

回答追記:マニュアルページへのリンク追加

2017/03/03 07:34

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -1,6 +1,10 @@
1
1
  外れたのでちょっと調べてみました。
2
2
 
3
3
  `--raw` (`-r`) オプションを付けるといいようです。
4
+
5
+ ※[https://dev.mysql.com/doc/refman/5.6/ja/mysql-command-options.html#option_mysql_raw](https://dev.mysql.com/doc/refman/5.6/ja/mysql-command-options.html#option_mysql_raw)
6
+
7
+
4
8
 
5
9
  ```
6
10
 

2

回答編集:体裁が崩れてたので修正

2017/03/03 07:34

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -4,37 +4,37 @@
4
4
 
5
5
  ```
6
6
 
7
- $ mysql <<EOF
7
+ $ mysql -N <<EOF
8
8
 
9
- > SELECT replace(CONCAT('abc',CHAR(92),'def'),'\\\\', '\\\\ ');
9
+ > SELECT replace(CONCAT('abc',CHAR(92),'def'),'\\\\', '\\\\ ') result;
10
10
 
11
11
  > EOF
12
12
 
13
- replace(CONCAT('abc',CHAR(92),'def'),'\\', '\\ ')
14
-
15
13
  abc\\ def
16
14
 
17
- $ mysql --raw <<EOF
15
+ $ mysql -N --raw <<EOF
18
16
 
19
- > SELECT replace(CONCAT('abc',CHAR(92),'def'),'\\\\', '\\\\ ');
17
+ > SELECT replace(CONCAT('abc',CHAR(92),'def'),'\\\\', '\\\\ ') result;
20
18
 
21
19
  > EOF
22
20
 
23
- replace(CONCAT('abc',CHAR(92),'def'),'\\', '\\ ')
24
-
25
21
  abc\ def
26
22
 
27
- ----
23
+ ````
28
24
 
29
25
 
30
26
 
31
27
  ----
28
+
29
+ 以下は回答として間違い。
32
30
 
33
31
 
34
32
 
35
33
  `<<__EOF__`ではなく`<<'__EOF__'`としてください。
36
34
 
37
35
  ヒアドキュメント内でのbashによるエスケープ処理が回避されます。
36
+
37
+
38
38
 
39
39
 
40
40
 
@@ -48,6 +48,4 @@
48
48
 
49
49
  __EOF__
50
50
 
51
-
52
-
53
51
  ```

1

回答変更:--raw

2017/03/03 07:30

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -1,3 +1,37 @@
1
+ 外れたのでちょっと調べてみました。
2
+
3
+ `--raw` (`-r`) オプションを付けるといいようです。
4
+
5
+ ```
6
+
7
+ $ mysql <<EOF
8
+
9
+ > SELECT replace(CONCAT('abc',CHAR(92),'def'),'\\\\', '\\\\ ');
10
+
11
+ > EOF
12
+
13
+ replace(CONCAT('abc',CHAR(92),'def'),'\\', '\\ ')
14
+
15
+ abc\\ def
16
+
17
+ $ mysql --raw <<EOF
18
+
19
+ > SELECT replace(CONCAT('abc',CHAR(92),'def'),'\\\\', '\\\\ ');
20
+
21
+ > EOF
22
+
23
+ replace(CONCAT('abc',CHAR(92),'def'),'\\', '\\ ')
24
+
25
+ abc\ def
26
+
27
+ ----
28
+
29
+
30
+
31
+ ----
32
+
33
+
34
+
1
35
  `<<__EOF__`ではなく`<<'__EOF__'`としてください。
2
36
 
3
37
  ヒアドキュメント内でのbashによるエスケープ処理が回避されます。