1
1
# # Procesa los argumentos y agrega comillas a los que no son flags
2
- # args=()
3
- # max_consecutive_spaces=5 # Define el máximo de espacios consecutivos permitidos
2
+ args=()
3
+ max_consecutive_spaces=5 # Define el máximo de espacios consecutivos permitidos
4
4
5
- # while [[ $# -gt 0 ]]; do
6
- # case $1 in
7
- # -m|-u)
8
- # args+=("$1" "$2")
9
- # shift 2
10
- # ;;
11
- # -h)
12
- # # Inicia la construcción del diccionario de headers
13
- # header=""
14
- # shift
15
- # while [[ $# -gt 0 && $1 != -* ]]; do
16
- # # Escapa las comillas dentro de cada header
17
- # key_value=$(echo "$1" | sed 's/"/\\"/g')
18
- # header+="$key_value, "
19
- # shift
20
- # done
21
- # # Elimina la última coma y espacio, y envuelve el diccionario en {}
22
- # header="{${header%, }}"
5
+ while [[ $# -gt 0 ]]; do
6
+ case $1 in
7
+ -m|-u)
8
+ args+=(" $1 " " $2 " )
9
+ shift 2
10
+ ;;
11
+ -h)
12
+ # Inicia la construcción del diccionario de headers
13
+ header=" "
14
+ shift
15
+ while [[ $# -gt 0 && $1 != -* ]]; do
16
+ # Escapa las comillas dentro de cada header
17
+ key_value=$( echo " $1 " | sed ' s/"/\\"/g' )
18
+ header+=" $key_value , "
19
+ shift
20
+ done
21
+ # Elimina la última coma y espacio, y envuelve el diccionario en {}
22
+ header=" {${header% , } }"
23
23
24
- # # Chequea y corrige dobles llaves al inicio y al final
25
- # if [[ $header == "{{"* ]]; then
26
- # header="${header#\{}"
27
- # fi
28
- # if [[ $header == *"}}" ]]; then
29
- # header="${header%\}}"
30
- # fi
24
+ # Chequea y corrige dobles llaves al inicio y al final
25
+ if [[ $header == " {{" * ]]; then
26
+ header=" ${header# \{ } "
27
+ fi
28
+ if [[ $header == * " }}" ]]; then
29
+ header=" ${header% \} } "
30
+ fi
31
31
32
- # args+=("-h" "\"$header\"")
33
- # ;;
34
- # -d)
35
- # # Inicia la construcción del argumento para -d
36
- # data="$2"
37
- # shift 2
38
- # consecutive_spaces=0
32
+ args+=(" -h" " \" $header \" " )
33
+ ;;
34
+ -d)
35
+ # Inicia la construcción del argumento para -d
36
+ data=" $2 "
37
+ shift 2
38
+ consecutive_spaces=0
39
39
40
- # # Continúa agregando palabras hasta que se alcance el máximo de espacios consecutivos
41
- # while [[ $# -gt 0 && $consecutive_spaces -lt $max_consecutive_spaces ]]; do
42
- # if [[ $1 =~ ^[[:space:]]*$ ]]; then
43
- # ((consecutive_spaces++))
44
- # else
45
- # data+=" $1"
46
- # consecutive_spaces=0
47
- # fi
48
- # shift
49
- # done
40
+ # Continúa agregando palabras hasta que se alcance el máximo de espacios consecutivos
41
+ while [[ $# -gt 0 && $consecutive_spaces -lt $max_consecutive_spaces ]]; do
42
+ if [[ $1 =~ ^[[:space:]]* $ ]]; then
43
+ (( consecutive_spaces++ ))
44
+ else
45
+ data+=" $1 "
46
+ consecutive_spaces=0
47
+ fi
48
+ shift
49
+ done
50
50
51
- # # Agrega -d y su valor completo entre comillas
52
- # args+=("-d" "\"$data\"")
53
- # ;;
54
- # *)
55
- # args+=("\"$1\"")
56
- # shift
57
- # ;;
58
- # esac
59
- # done
51
+ # Agrega -d y su valor completo entre comillas
52
+ args+=(" -d" " \" $data \" " )
53
+ ;;
54
+ * )
55
+ args+=(" \" $1 \" " )
56
+ shift
57
+ ;;
58
+ esac
59
+ done
60
60
61
61
# Ejecuta el script de Python con los argumentos procesados
62
62
# echo "${args[@]}"
63
- python code/client.py " $@ "
63
+ python code/client.py " ${args[@]} "
0 commit comments