当我使用shell时,如何生成要运行的下一个脚本:
#!/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
发布于 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片段。因此,顶部的弹跳是没有用的。
发布于 2013-07-06 09:15:15
bind在sh中不可用。如果要更改读行绑定,请修改~/.inputrc。
https://unix.stackexchange.com/questions/81966
复制相似问题