File: shell_client.sh

package info (click to toggle)
ecflow 5.15.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 51,868 kB
  • sloc: cpp: 269,341; python: 22,756; sh: 3,609; perl: 770; xml: 333; f90: 204; ansic: 141; makefile: 70
file content (41 lines) | stat: -rw-r--r-- 1,101 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/sh

function meter_payload() {
   # $1 path_to_task
   # $2 password
   # $3 process_id
   # $4 try no
   # $5 meter_name
   # $6 meter value
   
    boost_preamble="22 serialization::archive 10 0 0 0 1 2"
    meter_cmd="8 MeterCmd 1 0 0 0 0 0 0"
    
    path_to_task=$1
    password=$2
    process_id=$3
    try_no=$4
    meter_name=$5
    meter_value=$6
    
    path_to_task_size=$(echo ${#path_to_task}) 
    password_size=$(expr length  $password  )  
    process_id_size=$(expr length  $process_id )  
    meter_name_size=$(expr length  $meter_name )  
    
    data="$boost_preamble $meter_cmd $path_to_task_size $path_to_task $password_size $password $process_id_size $process_id $try_no $meter_name_size $meter_name $meter_value"
    header=$(printf '%8.8s' $(echo "obase=16; ${#data}" | bc) )
     
    payload=$header$data
    return "$payload"
}

path_to_task="/all_trigger_examples/a"
password="F5Q0eiJu"
process_id="24053"
try_no="1"
meter_name=METER
meter_value="10"

payload=$(meter_payload $path_to_task $password $process_id $try_no $meter_name $meter_value)
echo "$payload"