alias
记录一些自用的alias
1
2
# 简化minicom输入,强制关闭已存在串口,并显示可用的串口
alias minicom='sudo bash -c "{ ls /dev/ttyUSB* ; echo -n choose ttyUSB No: ; read TTYUSBNO ;echo \"select /dev/ttyUSB\$TTYUSBNO\"; kill -n 9 `ps -C minicom -o pid=` ; /usr/bin/minicom -D /dev/ttyUSB\$TTYUSBNO;}"'
bash - bind
bind命令在bash中是一个buildin的命令。可以自定义bash下的按键和组合键的功能,甚至改变系统的默认行为。 内容主要参考 man bash
的READLINE大章节,内容较多,记录一些个人使用的。
默认的bash cli 的输入模式是emacs输入模式,如 CTRL+A 就是光标移动到行首,CTRL+E 就是光标移动到行尾, 还有其他快捷键等。这种按键或组合键(key bindings)的功能是可以定义的。 一般可以使用功能键F1-F12,Ctrl,Alt,Home,End等等,几乎都支持。组合按键可以两键组合,三键组合等。由于bash本身使用了大量默认的快捷键,这里就仅使用功能键。
另外,实际使用中,由于一般是ssh连接,使用的ssh客户端软件,如xshell,putty,mobaxterm等,一些按键首先会被客户端软件捕获掉,发送不到终端里。 如Atl键,一般作为功能键,会直接进入客户端软件菜单栏。F1会直接弹出帮助,F11会进入全屏等。需要避免被客户端先捕获掉,所以实际能用的有限。 有些ssh客户端软件支持快速命令,如果仅用于快速输入命令,也可以直接使用客户端软件的快速命令功能,如Xshell的快速命令功能。
实现过程
(1)查看按键
使用命令cat查看,按键组合键,这里输入F5,F6,F7,F8。
1
2
$ cat
^[[15~ ^[[17~ ^[[18~ ^[[19~
这里输入Ctrl+F5,Ctrl+F6,Ctrl+F7,Ctrl+F8。
1
2
$ cat
^[[15;5~ ^[[17;5~ ^[[18;5~ ^[[19;5~
这里的
^[
代表一个Escape字符,而在文件中必须使用\e
来指代。这是较难理解的地方,还有其他特殊字符也有特殊指代。
(2)配置功能
配置文件名:~/.inputrc
或 /etc/inputrc
。可以实现的功能包括内置功能和自定义命令。内置功能有很多,有光标移动,历史命令检索,输入文本改动,多种补全等和其他 不了解的功能;自定义命令相当于输入特定文本。这里就使用这个。
这里将F7功能键定义为输入 make -j4\n
,常用的编译方式。将F6功能键定义为输入 make clean\n
。
1
2
3
4
# F7 == make -j4
"\e[18~": "make -j4\n"
# F6 == make clean
"\e[17~": "make clean\n"
后续的shell登录后,键入F7功能键,即为输入 make -j4
+回车