我正在使用Stretch Lite在Raspberry Pi上为蓝牙应用程序编写配置工具。
当我运行hcitool scan
时,我看到了这个输出:
Scanning ...
00:80:52:51:3D:7E BlueCN+001 D-513D7E
84:C7:EA:64:45:87 Xperia X Compact
现在我想在变量scanres
中输出此输出,所以我使用
scanres=$(hcitool scan)
这似乎没问题,但是mac-address错过了':#39;
echo $scanres
Scanning ...
00 80 25 51 3D 7E BlueCN+001 D-513D7E
84 C7 EA 64 45 87 Xperia X Compact
在我的脚本的某处,我更改了IFS(内部字段分隔符),但没有将其设置回原始值。
IFS=':'
这是正常行为吗?
我知道我可以将输出重定向到hcitool scan>scanres
的文件,但我想尽可能避免这种情况。
答案 0 :(得分:-1)
是的。您需要在调用echo
之前取消设置IFS我认为xxx有以下内容
Scanning ...
00:80:52:51:3D:7E BlueCN+001 D-513D7E
84:C7:EA:64:45:87 Xperia X Compact
IFS=':'
( IFS='' var=$(cat xxx); echo $var; )
echo "$IFS"
作为回报,你会得到
Scanning ...
00:80:52:51:3D:7E BlueCN+001 D-513D7E
84:C7:EA:64:45:87 Xperia X Compact
和IFS未改变为':'