Comparing two bash variables -


i trying write simple bash script shows difference between 2 variables, assumption both variables contain identical parameters different values. @ $sam , $pish variables. identical, except parameter driver_mode 1 in $sam, , 2 in $pish. comparison, store each variable separate array, , compare each element 1 one.

#!/bin/bash  sam="driver_mode=2 firmware_path=/home/release/firmware/ onebox_zone_enabled=0x10001 ta_aggr=4 skip_fw_load=0 fw_load_mode=1 sdio_clock=40000 enable_antenna_diversity=0 coex_mode=1 obm_ant_sel_val=2 wlan_rf_power_mode=0 bt_rf_power_mode=0 zigb_rf_power_mode=0 country_code=840  bt_rf_tx_power_mode=1 bt_rf_rx_power_mode=0"  pish="driver_mode=1 firmware_path=/home/release/firmware/ onebox_zone_enabled=0x10001 ta_aggr=4 skip_fw_load=0 fw_load_mode=1 sdio_clock=40000 enable_antenna_diversity=0 coex_mode=1 obm_ant_sel_val=2 wlan_rf_power_mode=0 bt_rf_power_mode=0 zigb_rf_power_mode=0 country_code=840  bt_rf_tx_power_mode=1 bt_rf_rx_power_mode=0"  read -r -a array_old <<< "$sam"  read -r -a array_new <<< "$pish"  index in "${!array_old[@]}";     if [[ ${array_old[index]} -ne ${array_new[index]} ]];         echo ${array_old[index]} 'to' ${array_new[index]}          fi done 

running above bash script gives me error:

./test: line 12: firmware_path=/home/release/firmware/: syntax error: operand expected (error token "/home/release/firmware/")

the -ne operator integer comparison operator. compare strings use !=:

for index in "${!array_old[@]}";   if [[ ${array_old[index]} != "${array_new[index]}" ]];     echo ${array_old[index]} 'to' ${array_new[index]}        fi done 

Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -