我有这个:
$ any_commandany_command: command not found
$ any_command
any_command: command not found
但我需要这个
PS1添加了什么?
wz1wpwve1#
您可以使用trap命令和DEBUG信号执行此操作:
trap
DEBUG
trap 'echo' DEBUG
这将在任何命令输出之前打印一个换行符。
$ any_commandbash: any_command: command not found$
bash: any_command: command not found
$
或者:
$ dateTue Sep 29 17:51:38 EDT 2015$
$ date
Tue Sep 29 17:51:38 EDT 2015
xkftehaa2#
GNU Bash手册中有一节是关于提示的。换行符转义符可能就是你要找的。例如:
export PS1='\n$ '
或者,您可以在命令之前或之后添加一个回显。例如:回声foo喷火
您可以使用Bash shell的PROMPT_COMMAND变量自动执行额外的回显(或其他屏幕输出)。PROMPT_COMMAND并不局限于提示,但在这种情况下,它当然可以用来完成您想要的任务。例如:
# call echo before issuing PS1export PROMPT_COMMAND='echo'# print the equals sign 80 times before issuing PS1export PROMPT_COMMAND="printf '=%.0s' {1..80}"
# call echo before issuing PS1
export PROMPT_COMMAND='echo'
# print the equals sign 80 times before issuing PS1
export PROMPT_COMMAND="printf '=%.0s' {1..80}"
epggiuax3#
我也想要一种方法来实现这一点--帮助在视觉上区分提示符和其他命令输出(特别是当我不能这样做的时候,颜色并不总是一个选项)--这就是我想到的:
export PROMPT_COMMAND="echo; trap 'echo; trap - DEBUG' DEBUG"
首先,echo在提示符之前运行,然后我们设置陷阱,它在提示符后换行,同时删除陷阱,至少直到下一次运行提示符命令。现在说这是不是一个好主意还为时过早!但它是有效的:
root@epyc:~# seq 1 512345root@epyc:~#
root@epyc:~# seq 1 5
1
2
3
4
5
root@epyc:~#
3条答案
按热度按时间wz1wpwve1#
您可以使用
trap
命令和DEBUG
信号执行此操作:这将在任何命令输出之前打印一个换行符。
或者:
xkftehaa2#
PS1换行提示
GNU Bash手册中有一节是关于提示的。换行符转义符可能就是你要找的。例如:
或者,您可以在命令之前或之后添加一个回显。例如:
回声foo
喷火
使用PROMPT_COMMAND插入任意输出
您可以使用Bash shell的PROMPT_COMMAND变量自动执行额外的回显(或其他屏幕输出)。PROMPT_COMMAND并不局限于提示,但在这种情况下,它当然可以用来完成您想要的任务。例如:
epggiuax3#
我也想要一种方法来实现这一点--帮助在视觉上区分提示符和其他命令输出(特别是当我不能这样做的时候,颜色并不总是一个选项)--这就是我想到的:
首先,echo在提示符之前运行,然后我们设置陷阱,它在提示符后换行,同时删除陷阱,至少直到下一次运行提示符命令。
现在说这是不是一个好主意还为时过早!但它是有效的: