无法将带空格的密码传递给shell脚本

时间:2017-08-31 11:22:56

标签: bash shell unix intel-edison

我有下面的脚本,打开我的爱迪生的系绳模式。 但是当我用空格输入密码时,它显示参数列表很长的错误。没有空间,它可以很好地运作

#!/usr/bin/env bash

SSID_FILE="/usr/share/apache2/htdocs/userhotspotname.conf"
if [ -s "$SSID_FILE" ]
then
    filename="/usr/share/apache2/htdocs/userhotspotname.conf"
    while IFS= read -r line; do
        if [[ $line == hotspotna* ]] ; then
            name=$(echo $line | grep "hotspotname" | cut -d= -f2)

        fi
        if [[ $line == hotspotpa* ]] ; then
            pass=$(echo $line | grep "hotspotpass" | cut -d= -f2)
            #pass="'${pass}'"
            echo $pass
        fi
        done < "$filename"
        **connmanctl tether wifi on "${name}" ${pass}**
fi

以下是userhotspotname.conf文件内容

hotspotname=cvg_space
hotspotpass=cgoma  pwd space

因为密码是空的 connmanctl tether wifi on&#34; $ {name}&#34; $ {通} 此命令失败,因为它将其视为4个参数。 如果有人有想法,请帮忙。

0 个答案:

没有答案