lib/modules/input/style/console.rb in aio_elin-1.0.9 vs lib/modules/input/style/console.rb in aio_elin-1.1.0
- old
+ new
@@ -118,11 +118,11 @@
end
class CmdState < State
def parse_line(line)
# 判断是不是cmd命令行
- res = /^[\[|<]?(?<name>.*)(#|>|\])(?<cmd>.*)/.match(line)
+ res = /^[\[|<]?(?<name>[^\s]*)(#|>|\])(?<cmd>.*)/.match(line)
if res.nil?
@machine.to_empty_state
return
end
@@ -135,11 +135,12 @@
class ContextState < State
def parse_line(line)
# 如果这行是命令行格式,那么就代表上一个cmd内容结束
- #tmp_reg = ::Regexp.new "^[\\[|<]{0,1}#{cmd_context.device_name}[#|>|\\]]{1}"
+ # 如果这里出问题,关注 CmdState
tmp_reg = ::Regexp.new "^[\\[|<]?#{cmd_context.device_name}[#|>|\\]]{1}"
+
# 可能会出现UTF-8识别不出摄氏度符号的问题
# 已经通过安全字符解决
begin
if tmp_reg.match(line)