当我使用以下echo语句时,我得到一个很好的输出,这是从这三个独立的echo语句中得到的结果:
echo AP $macaddr
echo noise floor $noise
echo $channel
Run Code Online (Sandbox Code Playgroud)
输出:
AP ac:67:06:30:eb:00,
noise floor -96
channel=1
Run Code Online (Sandbox Code Playgroud)
但是,当我将所有三个变为一个单独的'echo'语句时,如下所示,输出中断.
echo AP $macaddr noise floor $noise $channel
Run Code Online (Sandbox Code Playgroud)
输出:
channel=06:30:eb:00, noise floor -96
Run Code Online (Sandbox Code Playgroud)
在此输出中,我没有看到通道和MAC地址缺少其第一个八位字节中的两个.是什么造成的?怎么能避免这个?
我不知道频道来自哪里,但是在$ channel或者$ $噪音开始时是否存在虚假的'CR'?尝试做:
channel=`echo $channel | tr -d '\r'`
noise=`echo $noise | tr -d '\r'`
echo AP $macaddr noise floor $noise $channel
Run Code Online (Sandbox Code Playgroud)
......看看这是否有所作为.如果不这样做,看看$ channel和$ noise(以及任何其他变量)中是否还有其他狡猾的字符:
echo $channel | od -t c
Run Code Online (Sandbox Code Playgroud)
如果有,请使用tr -d从变量中删除它们.
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |