【发布时间】:2021-05-02 02:54:03
【问题描述】:
我在一个文件中有一个 shell 脚本 8185556677(Rasbpian 上的 bash shell):
#!/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
我用输入参数调用脚本:
./setup.sh <param1> <param2> <param3> <param4>
例如./setup.sh wlan0 Wifi_2.G 8185556677 off
然而,这些值并没有被传递给 shell 脚本,输出是:
interface: ssid: psk: wireless_power:
而不是:
interface: wlan0 ssid: Wifi_2.G psk: 8185556677 wireless_power: off
为什么我的命令行参数没有到达脚本?
【问题讨论】: