Zbrel 发表于 2017-8-6 15:18:46

认识bash shell4--Bash Shell使用环境之终端机的环境设定:stty, set

本帖最后由 Zbrel 于 2017-8-7 17:48 编辑

终端机的环境设定:stty, set
查阅目前的一些按键内容可以利用stty(setting tty):
stty -a 将当前所有的stty参数列出来intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;lnext = ^V; flush = ^O;几个重要的代表意义是:
intr:给正在运行的程序发送中断信号
quit:给正在运行的程序发送退出信号
erase:向前删除字符
kill:删除命令行上的文字
eof:文件结束,输入结束
start:重启暂停的输出
stop:停止当前的输出
susp:给正在运行的程序发送一个终端停止信号
rprnt:输入命令时提示使用过的历史命令
werase:删除命令行的最后一个字
出现的^表示Ctrl按键的意思,如intr=^C表示利用ctrl+c来中断程序。如果想要用ctrl+h来进行字符的删除,则可以下达:stty erase ^h即可。

除了stty之外,set也可以用来设定终端机设定值,set除了可以显示变量,还可以帮我们设定整个指令输出/输入的环境,如记录历史命令、显示错误内容等。
set [-uvCHhmBx]
-u 预设不启用。若启用后,当使用未设定变量时,会显示错误讯息;
-v 预设不启用。若启用后,在讯息被输出前,会先显示讯息的原始内容;
-x 预设不启用。若启用后,在指令被执行前,会显示指令内容(前面有 ++ 符号);
-h 预设启用。与历史命令有关;
-H 预设启用。与历史命令有关;
-m 预设启用。与工作管理有关;
-b 预设启用。与刮号 [] 的作用有关;
-C 预设不启用。若使用 > 等,则若档案存在时,该档案不会被覆盖。
例如:显示目前所有的set设定值:echo $-$-变量内容就是set的所有设定
设定”若使用未定义变量时,则显示错误讯息”:set -u,若要取消这个参数,输入set +u即可。

事实上,不建议修改tty的环境,因为bash的环境已经设定的很亲和了,不需要额外的设定或修改,否则反而会产生一些困扰,下面将bash默认的组合键汇整一下:
组合按键        执行结果
Ctrl + C        终止目前的命令
Ctrl + D        输入结束,例如邮件结束的时间
Ctrl + M        就是Enter
Ctrl + S        暂停屏幕的输出
Ctrl + Q        恢复屏幕的输出
Ctrl + U        在提示符下,将整列命令删除
Ctrl + Z        暂停目前的命令
页: [1]
查看完整版本: 认识bash shell4--Bash Shell使用环境之终端机的环境设定:stty, set