Bob*_*Bob 26 linux terminal bash gnu-screen konsole
在屏幕外的 konsole 终端窗口中运行一个 bash shell,如果我输入,则 TERM 设置为 konsole-256color:
echo -n $'\a' 或
echo -n $'\eg' 或
./ringbell 其中 ./ringbell 的内容
#!/bin/bash echo -n $'\eg';echo -n $'\a'
它们都会导致配置的音频铃声响起。如果我进入一个屏幕会话(我的 .screenrc 也将 term 设置为 konsole-256color),只有上述 3 个命令中的第二个(echo -n $'\eg')会导致听到音频铃声。我必须修改脚本还是屏幕有问题?
我手头的ubuntu版screen包是4.1.0~20120320gitdb59704-9。
小智 38
从记忆中,Ctrl-G 是响铃字符,所以我认为这就是第二个起作用的原因。但是 screen 可能对它接受的字符很挑剔,因为它需要 Ctrl-A 作为命令代码。
尝试这个
#!/bin/sh
# Ring the terminal bell
# echo "\a" # does not work in some shells
tput bel
Run Code Online (Sandbox Code Playgroud)
我在rosettacode上找到了这个,希望它能给你一些选择
小智 6
最佳解决方案: printf '\a'
那是因为printf内置在大多数 shell 中运行良好,并且还有一个printf与 Linux/Mac 系统一起安装的等效可执行版本。
其他选项:如果您安装了curses,那么您还可以使用:tput bel
如果您使用最新版本的bash,则可以使用:echo -n '\a'
| 归档时间: |
|
| 查看次数: |
24485 次 |
| 最近记录: |