Questions tagged «prompt»

交互式外壳程序显示的字符串表示该外壳程序正在等待用户输入。

21
为终端和外壳环境着色?
我大部分时间都在Unix环境中工作,并使用终端仿真器。我尝试在命令行上使用color,因为color使输出更加有用和直观。 有哪些选项可为终端环境添加颜色?您使用什么技巧?您遇到了什么陷阱? 不幸的是,对颜色的支持因终端类型,操作系统,TERM设置,实用程序,错误的实现等而异。 经过大量实验,以下是我设置中的一些提示: 我倾向于设置TERM=xterm-color,大多数主机(但不是全部)都支持。 我在许多不同的主机,不同的OS版本等上工作。我使用macOS X,Ubuntu Linux,RHEL / CentOS / Scientific Linux和FreeBSD中的所有内容。如果可能的话,我试图使事情变得简单而通用。 我使用GNU进行了大量工作screen,这又增加了一层乐趣。 许多操作系统dircolors在默认情况下会设置和,并且我不想在一百台不同的主机上进行修改。因此,我尝试使用默认值。相反,我调整了终端的颜色配置。 对于一些使用颜色Unix命令(ls,grep,less,vim)和Bash提示符。这些命令似乎使用标准的“ ANSI转义序列 ”。例如: alias less='less --RAW-CONTROL-CHARS' export LS_OPTS='--color=auto' alias ls='ls ${LS_OPTS}' 我将发布帖子.bashrc并回答我自己的问题《危险风格》。
262 shell  bash  colors  prompt 

7
终端提示未正确包装
我有一个问题,如果我在bash中输入很长的命令,终端将无法正确显示我键入的内容。我希望如果我有如下命令: username@someserver ~/somepath $ ssh -i /path/to/private/key myusername@something.someserver.com 该命令应在两行上呈现。相反,它通常会环绕起来并开始在提示的顶部进行书写,如下所示: myreallylongusername@something.somelongserver.comh -i /path/to/private/key 如果我决定返回并更改一些参数,则无法确定光标将出现在哪里,有时在提示的中间,但通常在我键入的位置的那一行上。 当我Up执行上一个命令时,会带来更多乐趣。我已经在gnome-terminal和Terminator以及i3和Cinnamon上进行了尝试。有人建议这是我的提示,所以这里是: \[\033[01;32m\]\u:\[\033[01;34m\] \W\033[01;34m \$\[\033[00m\] Ctrll,,reset和clear都按照他们说的去做,但是当我重新输入命令时,还是Up发生了同样的事情。 我检查并checkwinsize启用了bash。这发生在80x24和其他窗口尺寸上。 这只是我学会生活的东西吗?我应该知道一些魔术吗?我已经同意只使用一个很短的提示,但这不能解决问题。
170 bash  terminal  prompt 

5
我可以在PS1提示中使用什么颜色代码?
我在PS1提示中使用了几种颜色,例如 \033]01;31\] # pink \033]00m\] # white \033]01;36\] # bold green \033]02;36\] # green \033]01;34\] # blue \033]01;33\] # bold yellow 在哪里可以找到可以使用的颜色代码列表? 我查看了Colorize Bash Console Color,但它没有回答有关实际代码列表的问题。 如果还有一个更具可读性的表格,那就太好了。 另请参阅https://unix.stackexchange.com/a/127800/10043
131 bash  colors  prompt 


3
如何通过bash脚本判断我是否处于tmux会话中?
我喜欢将自己保存bash_profile在git存储库中,然后将其克隆到我可以通过Shell访问的任何计算机上。由于我tmux大部分时间都user@host在状态行中输入字符串,而不是在shell提示符中使用传统字符串。 但是,并非我使用的所有站点都已tmux安装,或者我可能并不总是在使用它。我想检测我何时不参加tmux会话,并相应地调整提示。到目前为止,我的半熟解决方案.bash_profile看起来像这样: _display_host_unless_in_tmux_session() { # ??? } export PROMPT_COMMAND='PS1=$(_display_host_unless_in_tmux_session)${REST_OF_PROMPT}' (每次检查可能都不是最好的方法,因此我愿意提出更好的方法。Bash脚本并不是我的专长。)
53 bash  prompt  tmux 

2
为什么ZSH用高亮的百分比符号结束一行?
我有时会在各种应用程序中注意到这一点。我经常以为这是因为输出被提前取消(例如ctrl + c)或类似的操作,而zsh则填充了新的换行符。但是现在,好奇心已经成为我最好的,因为它似乎并没有做到那么快。 sh 重击 该Sequence程序是我在阅读Java认证时从书中摘录的,只是想看看它是否可以编译和运行。我确实注意到它没有使用包/类中的println()方法System.out。相反,它使用普通old print()。 缺少换行符是我得到此符号的原因吗?
46 bash  zsh  prompt  newlines 

10
在vi模式下使我的zsh提示显示模式
我使用bindkey -v(对于bash-ers,set -o vi我认为也可以在zsh中使用)或vi(m)模式。但令我感到困惑的是,我没有任何视觉提示可以告诉我是处于插入模式还是命令模式。有谁知道我如何使我的提示显示模式?
44 shell  prompt  zsh 

3
使用变量存储PS1的终端颜色代码?
在我的文章中.bashrc,我使用ANSI终端颜色代码对各个位进行着色。看起来像这样: PS1='\u@\h:\w\[\033[33m\]$(virtual_env)\[\033[32m\]$(git_branch)\[\033[0m\]$ ' 其中virtual_env和git_branch是在stdout上输出内容的bash函数。 现在,为了使其更易于阅读和修改,我想将颜色代码存储在变量中并对其进行引用,而不是将它们直接嵌入PS1。所以我有一堆这样的变量: GREEN="\[\033[32m\]" YELLOW="\[\033[33m\]" RESET="\[\033[0m\]" 我希望能够编写如下内容: PS1='\u@\h:\w${YELLOW}$(virtual_env)${GREEN}$(git_branch)${RESET}$ ' 但这是行不通的-提示中会显示颜色代码,就像逃脱了一样。如果我使用双引号代替PS1,则颜色可以正常工作,但是提示仅在我这样做时才会更改source ~/.bashrc。 我已经试过我见过的人做其他事情-使用printf,使用单引号的颜色,把\[和\]中PS1,而不是颜色可变的,但似乎没有任何工作。 如何将变量用于颜色代码?


1
在什么情况下使用PS2,PS3,PS4作为提示?
当我登录到外壳程序时,我看到提示,其值存储在PS1中。 使用here-document语法时,我还遇到了另一个提示(但不知道是哪个提示): bc << HERE > 但这就是所有提示类型。到目前为止,我已经遇到了。哪种情况会引起不同的提示?

5
如何使终端以粗体显示user @ machine?
我在一些屏幕截图(不记得在网络上的什么地方)中看到终端可以显示[username@machine /]$粗体字母。我也很期待得到这个,因为我总是发现自己在长输出中滚动,很难找到我命令后的第一行。 如何使用户名等加粗或着色?

5
从shell提示接受'Yes'变体的更好方法
我编写的Shell脚本的可用性测试发现,人们对如何回答以“是”为答案的问题抱有不同的期望。请参见下面的代码示例中的变体。 当然,必须有一种更好的方法来解决我的问题?您对此的可读性和简短形式是什么? read -p 'Answer this question with yes: ' answer if [ "$answer" = 'Y' -o "$answer" = 'YES' -o "$answer" = 'Yes' -o "$answer" = 'y' -o "$answer" = 'yes' -o some-alternate-condition ]; then echo 'Surely this can be written better?' fi

15
您已经对外壳配置文件进行了哪些自定义以提高生产率?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我知道有些人有一些启动脚本,有些人则对提示进行个性化设置。一名开发人员将短别名用于他经常访问的长途路径和他经常运行的命令。 您在UNIX概要文件上进行了哪些有效的自定义操作,以提高生产率和易用性?

3
在xterm标题栏中显示命令
我的Bash提示当前正在使用以下顺序设置xterm标题栏: PS1='\033]0;\u@\h>\w\007' 有没有一种简单的方法可以在标题栏中显示当前命令。例如,如果要使用尾随文件tail -f foo.log,则希望标题栏显示tail -f foo.log。

6
在shell提示符下缩写当前目录?
vim 有一个非常不错的功能,当它们有点长时可以在其路径中使用: 它在顶部的选项卡中缩写了文档的路径。有没有办法做类似的事情,所以我的bash提示看起来不是这样的: rfkrocktk@work-laptop ~/Documents/Projects/Work/maventest/src/main/java/com/tkassembled/ $
23 bash  prompt 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.