在shell脚本中使用bind命令报错“bind: warning: line editing not enabled“

Posted 二木成林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在shell脚本中使用bind命令报错“bind: warning: line editing not enabled“相关的知识,希望对你有一定的参考价值。

异常

执行 .ssh 目录下的 inputrc.sh 脚本文本报错:

[root@xxx .ssh]# ./inputrc.sh 
./inputrc.sh: line 3: bind: warning: line editing not enabled
./inputrc.sh: line 4: bind: warning: line editing not enabled
./inputrc.sh: line 5: bind: warning: line editing not enabled

其中 inputrc.sh 脚本文件内容如下:

#!/bin/bash

bind -x '"\\C-R":/root/.ssh/restart.sh'
bind -x '"\\C-P":/root/.ssh/publish.sh'
bind -x '"\\C-T":"tail -n100 /home/logs/log.log"'

原因

脚本中使用了 bind 命令,但未启用行编辑。

解决

采用 source 脚本名 的方式来启动脚本,就不会报上面的警告了,脚本也能正常起作用。

参考资料:

关于参考资料中另外一种方式,我尝试过,虽然不会报上面的警告了和任何错误,但脚本功能并未成功启用。

以上是关于在shell脚本中使用bind命令报错“bind: warning: line editing not enabled“的主要内容,如果未能解决你的问题,请参考以下文章

使用shell脚本备份Mysql数据库 - 将bind-address设置为localhost

CentOS7自动安装Bind服务器shell脚本

常用的shell脚本之一键部署DNS服务正向解析

如何使用单个脚本自动打开 sqlite3.exe shell 并运行命令?

启动服务报错:nginx: [emerg] bind() to 0.0.0.0:80 failed

SSH port forwarding: bind: Cannot assign requested