Linux shell and expect 小贴士
expect
脚本中设置终端类型
一些场景和命令需要设置TERM后,才能正确执行命令。
在expect脚本头部加入这一行:
set env(TERM) vt100
终端类型可以是vt100,xterm等,根据实际情况选择即可。
同理,如果脚本运行时shell,home需要指定,可通过以下方式在脚本中指定:
set env(SHELL) /bin/sh
set env(HOME) /usr/local/bin
shell
将expect脚本输出log中的ANSI转义序列和颜色代码去掉
expect脚本输出的log中,通常包含不可视的ANSI转义序列和颜色代码,影响log读取,这行代码可以将这些字符去掉,只剩下可读字符。
# remove all un-printable chars & symbols
perl -pe 's/\e[\[\(][0-9;]*[mGKFB]//g' -i logs/*.log