举个简单的例子,我想写一个CLI脚本,可以在终端窗口的整个宽度上打印'='.
#!/usr/bin/env php
<?php
echo str_repeat('=', ???);
Run Code Online (Sandbox Code Playgroud)
要么
#!/usr/bin/env python
print '=' * ???
Run Code Online (Sandbox Code Playgroud)
要么
#!/usr/bin/env bash
x=0
while [ $x -lt ??? ]; do echo -n '='; let x=$x+1 done; echo
Run Code Online (Sandbox Code Playgroud) 我正在编写一个Bash脚本,可以在屏幕上打印一些文本:
echo "Some Text"
Run Code Online (Sandbox Code Playgroud)
我可以格式化文本吗?我想大胆一点.
在大多数终端上(当然,除了Windows的cmd.exe之外),可以使用\033ANSI转义序列对输出进行着色.
现在我正在寻找所有支持的颜色和选项列表(如明亮和闪烁).
由于支持它们的终端之间可能存在一些差异:我主要对xterm兼容终端支持的序列感兴趣.
我只是想让Mac OS X 10.6像开放式suse和其他发行版那样发出硬件蜂鸣声.我尝试了以下方法
终端 - > beep = -bash:beep:找不到命令
终端 - >说beep =语音说出来的嘟嘟声(不是硬件发出的嘟嘟声,但真棒;))
applescript - > beep = Macintosh bell(我想要一个硬件嘟嘟声!)
有人知道如何在bin/bash或applescript中发出硬件蜂鸣声吗?
这很奇怪.我在下面定义了以下提示zsh:
local user_host='%{$terminfo[bold]$fg[green]%}%n @ %m%{$reset_color%}'
local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}'
local git_branch='$(git_prompt_info)%{$reset_color%}'
local return_code="%(?..%{$fg[red]%}%? ?%{$reset_color%})"
PROMPT="??${user_host} %D{[%a, %b %d %I:%M:%S]} ${current_dir} ${git_branch}
??%B$%b "
RPS1="${return_code}"
Run Code Online (Sandbox Code Playgroud)
它在Emacs()gnome-terminal中的ansi-term终端以及终端中运行良好M-x ansi-term- 请参阅下面的示例:

但是,它multi-term在Emacs 下运行不正常,如下所示:

我认为multi-term能够解释终端喜欢gnome-terminal或ansi-term做的同一组转义字符 .为什么不git-prompt_info正确解释由其他人返回的转义字符?
我也尝试过:
set-terminal-coding-system 并将其设置为 utf-8-unixTERM=eterm-color 在多学期终端内,或在致电Emacs之前,等等.TERM= 在多学期终端内,或在致电Emacs之前,等等.export TERM我的.zshrc到目前为止,最好的解决方案似乎是执行以下操作:
TERM=xterm-256color
但是导致我在这里报告的另一个问题:在Emacs中将转义序列传递给ansi-term中的shell.
我目前正在尝试向命令行脚本添加进度条,我尝试了各种解决方案(包括Zend和Console_ProgressBar).它们两者有共同的问题是进度条不会粘在窗口的底部,因为在脚本中,输出新行和其他信息.
有没有办法让进度条保持在终端的底部,但仍然能够在脚本运行时输出其他信息?
[编辑]
我想到了:
而不是直接输出到STDOUT我实际上是抓取变量内的输出,我擦除屏幕echo chr(27) . '[2J'然后输出到STDOUT变量的内容然后追加我的进度条.
希望有道理:)
有没有办法为mysql客户端设置颜色方案?这可能听起来微不足道,但我希望能够为终端客户端设置一些级别的颜色.
我经常使用类似的东西read -e -p "> All good ? (y/n)" -n 1 confirm;向用户询问.
我正在寻找一种颜色化输出的方法,正如命令echo -e所做的那样:
echo -e "\033[31m";
echo "Foobar"; // will be displayed in red
echo -e "\033[00m";
Run Code Online (Sandbox Code Playgroud)
我正在使用xterm.
在man echo,它说:
-e启用反斜杠转义的解释
有没有办法用read命令做同样的事情?(手册页中没有任何内容:( -r选项不起作用)