回答編集履歴

2

Update

2022/03/09 10:07

投稿

melian
melian

スコア19840

test CHANGED
@@ -2,8 +2,8 @@
2
2
  #!/bin/bash
3
3
 
4
4
  function callback {
5
- read -r p_root ev <<<"$2"
5
+ read -r p_root param <<<"$2"
6
- eval "$ev"
6
+ eval "$param"
7
7
  echo "ここでのid結果" ${p_root}
8
8
  echo "ここでのnum1結果" ${p_open}
9
9
  echo "ここでのnum2結果" ${p_close}

1

Update

2022/03/09 10:05

投稿

melian
melian

スコア19840

test CHANGED
@@ -1,14 +1,24 @@
1
1
  ```bash
2
2
  #!/bin/bash
3
3
 
4
+ function callback {
5
+ read -r p_root ev <<<"$2"
6
+ eval "$ev"
7
+ echo "ここでのid結果" ${p_root}
8
+ echo "ここでのnum1結果" ${p_open}
9
+ echo "ここでのnum2結果" ${p_close}
10
+ }
11
+
4
12
  test="p_root=0000000001 p_open=0900 p_close=1800 p_root=0000000002 p_open=0830 p_close=2000"
5
-
6
- mapfile -t -s 1 ip_array <<< "${test//p_root=/$'\n'}"
13
+ mapfile -t -s 1 -c 1 -C callback ip_array <<< "${test//p_root=/$'\n'}"
7
-
8
- echo "${ip_array[0]}"
9
- echo "${ip_array[1]}"
10
-
11
- #
12
- 0000000001 p_open=0900 p_close=1800
13
- 0000000002 p_open=0830 p_close=2000
14
14
  ```
15
+ **実行結果**
16
+ ```bash
17
+ $ bash p_root.sh
18
+ ここでのid結果 0000000001
19
+ ここでのnum1結果 0900
20
+ ここでのnum2結果 1800
21
+ ここでのid結果 0000000002
22
+ ここでのnum1結果 0830
23
+ ここでのnum2結果 2000
24
+ ```