sistema_progs

Programas para customizar o meu entorno de traballo nos meus equipos persoais
Log | Files | Refs

D1614.bash32-soh-and-del-in-arrays.sh (1224B)


      1 #!/bin/bash
      2 
      3 function test1 {
      4   s=$'x\1y\177z'
      5   a=($'x\1y' $'z\177w')
      6   declare -p s a | cat -v
      7 }
      8 #test1
      9 #(test1)
     10 
     11 function test2 {
     12   a=($'x\1y' $'z\177w')
     13   b=("${a[@]}")
     14   declare -p a b | cat -v
     15 }
     16 #test2
     17 
     18 # "正解" を生成している時に "正解" が変質している可能性
     19 function test3 {
     20   local a; a=($'x\1y' $'z\177w')
     21   printf '%s\0' "${a[@]}" | cat -v
     22 }
     23 #test3
     24 
     25 #------------------------------------------------------------------------------
     26 # ble/util/declare-print-definitions に失敗する問題
     27 
     28 function status { echo "${#a6[*]}:(""${a6[*]}"")"; }
     29 function test4 {
     30   a6=($'\x01' a$'\x01'b)
     31   status a6 | cat -v
     32 }
     33 #test4
     34 
     35 function status { ret="${#a6[*]}:(""${a6[*]}"")"; }
     36 function test5 {
     37   a6=($'\x01' a$'\x01'b)
     38   status a6
     39   echo "$ret" | cat -v
     40 }
     41 #test4
     42 
     43 function test6 {
     44   a6=($'\x01' a$'\x01'b)
     45   echo "$a6" | cat -v
     46   a6[0]=$'\x01'
     47   echo "$a6" | cat -v
     48   a6=$'\x01'
     49   echo "$a6" | cat -v
     50 }
     51 #test4
     52 
     53 function test7 {
     54   local x=$'\x01' y=$'\x7F' a6
     55   a6=("$x" "$y")
     56   declare -p a6 | cat -v
     57 }
     58 test7
     59 
     60 # 正しく実装する為には arr=() の形式は使ってはならないという事。
     61 function test7 {
     62   local -a a=()
     63   a[0]=$'x\1y'
     64   a[1]=$'z\177w'
     65   declare -p a | cat -v
     66 }
     67 #test7