I have a shell script 8185556677 (bash shell on Rasbpian) , in a file:
#!/bin/sh
#setup network interfaces
setup_interfaces()
{
INTERFACE_0=$1
SSID_0=$2
PSK_0=$3
WIRELESS_POWER_0=$4
echo "interface:" $INTERFACE_0 "ssid:" $SSID_0 "psk:" $PSK_0 "wireless_power:" $WIRELESS_POWER_0
sudo cp -r /etc/network/interfaces /etc/network/interfaces.BACKUP
sudo cp /home/pi/Edge-CommHub/Edge-CommHub/Edge-CommHub/resources/RASPIAN/interfaces.TEMPLATE /etc/network/interfaces
sudo sed -i 's/<interface_0>/$INTERFACE_0/g' /etc/network/interfaces
sudo sed -i 's/<interface_0_ssid>/$SSID_0/g' /etc/network/interfaces
sudo sed -i 's/<interface_0_psk>/$PSK_0/g' /etc/network/interfaces
sudo sed -i 's/<wireless_power_on_off>/$WIRELESS_POWER_0/g' /etc/network/interfaces
sudo cp -r /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.confBACKUP
sudo cp -r /home/pi/Edge-CommHub/Edge-CommHub/Edge-CommHub/resources/RASPIAN/wpa_supplicant.confTEMPLATE /etc/wpa_supplicant/wpa_supplicant.conf
sudo sed -i 's/<interface_0_ssid>/$SSID_0/g' /etc/wpa_supplicant/wpa_supplicant.conf
sudo sed -i 's/<interface_0_psk>/$PSK_0/g' /etc/wpa_supplicant/wpa_supplicant.conf
}
setup_interfaces
And Im calling the script with input parameters:
./setup.sh <param1> <param2> <param3> <param4>
For example ./setup.sh wlan0 Wifi_2.G 8185556677 off
However the values are NOT being passed to the shell script & the output is:
interface: ssid: psk: wireless_power:
Rather than:
interface: wlan0 ssid: Wifi_2.G psk: 8185556677 wireless_power: off
Why are my command line arguments not reaching the script?