首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使“绑定”命令在sh shell中工作

如何使“绑定”命令在sh shell中工作
EN

Unix & Linux用户
提问于 2013-07-06 09:03:59
回答 2查看 13.6K关注 0票数 2

当我使用shell时,如何生成要运行的下一个脚本:

代码语言:javascript
复制
#!/bin/bash

bind '^[[3'=prefix-2
bind '^[[3~'=delete-char-forward
bind '^[[1'=prefix-2
bind '^[[1~'=beginning-of-line
bind '^[[4'=prefix-2
bind '^[[4~'=end-of-line
EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2013-09-25 07:45:51

bind是bash命令,而不是sh命令。如果不使用bash,bind命令将不可用。

根据平台的不同,sh可能是几个shell之一。它们都为脚本提供了一个共芯。普通sh几乎没有任何便于交互使用的特性;特别是,普通sh没有键绑定的概念。

在某些系统上,sh是bash (在以sh的形式调用时以兼容模式运行),并将读行库用于命令行版本,并支持通过bind内置的键绑定。其他系统使用更精简的shell,如破折号或ksh,它们执行脚本的速度更快。如果您想要一个像样的命令行接口,不要调用sh

请注意,您编写的脚本在运行时没有任何效果(除了打印警告,即bind命令在非交互式shell中没有意义)。仅包含键绑定定义的文件不能是有用的独立可执行文件,只能包含shell片段。因此,顶部的弹跳是没有用的。

票数 3
EN

Unix & Linux用户

发布于 2013-07-06 09:15:15

bindsh中不可用。如果要更改读行绑定,请修改~/.inputrc

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/81966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档