代码: 全选
PS1="[\t@\w]$ "
echo $PS1 >> .bashrc
但是今天突然发现, 当命令很长时, 不会自动换行, 而是直接覆盖了我的命令行提示符, 请问大家知道这是怎么回事么?[17:07:20@~/Programs/Shell/flight_data]$
感谢 astolia 解决方案在6楼.
代码: 全选
PS1="[\t@\w]$ "
echo $PS1 >> .bashrc
但是今天突然发现, 当命令很长时, 不会自动换行, 而是直接覆盖了我的命令行提示符, 请问大家知道这是怎么回事么?[17:07:20@~/Programs/Shell/flight_data]$
代码: 全选
ilinunix@Ubuntu:~$ echo 'export PS1="[\t@\w]$ "' >> .bashrc
ilinunix@Ubuntu:~$ . .bashrc
[18:54:07@~]$ echo $PS1
[\t@\w]$
[18:54:18@~]$
您好, 这样是没问题的, 不过命令很长的时候就会出现问题: 应该换到下一行的命令跑到了这一行的开头, 覆盖了[18:54:18@~]$这些, 您可以试试.lxf1992521 写了:你这样真的好吗?
还没见过这么用的。代码: 全选
ilinunix@Ubuntu:~$ echo 'export PS1="[\t@\w]$ "' >> .bashrc ilinunix@Ubuntu:~$ . .bashrc [18:54:07@~]$ echo $PS1 [\t@\w]$ [18:54:18@~]$
额……,应该是你的终端本身的问题,我这边用 gnome-terminal 很正常。恒河沙数1 写了:您好, 这样是没问题的, 不过命令很长的时候就会出现问题: 应该换到下一行的命令跑到了这一行的开头, 覆盖了[18:54:18@~]$这些, 您可以试试.lxf1992521 写了:你这样真的好吗?
还没见过这么用的。代码: 全选
ilinunix@Ubuntu:~$ echo 'export PS1="[\t@\w]$ "' >> .bashrc ilinunix@Ubuntu:~$ . .bashrc [18:54:07@~]$ echo $PS1 [\t@\w]$ [18:54:18@~]$
您好, 我用的就是 gnome-terminal , 还有我发现PS1="[\t@\w]$ " 确实没问题, 但是字符加粗后问题就出现了, 您可以试下:lxf1992521 写了:额……,应该是你的终端本身的问题,我这边用 gnome-terminal 很正常。恒河沙数1 写了:您好, 这样是没问题的, 不过命令很长的时候就会出现问题: 应该换到下一行的命令跑到了这一行的开头, 覆盖了[18:54:18@~]$这些, 您可以试试.lxf1992521 写了:你这样真的好吗?
还没见过这么用的。代码: 全选
ilinunix@Ubuntu:~$ echo 'export PS1="[\t@\w]$ "' >> .bashrc ilinunix@Ubuntu:~$ . .bashrc [18:54:07@~]$ echo $PS1 [\t@\w]$ [18:54:18@~]$
代码: 全选
echo 'export PS1="\e[1m[\t@\w]\e[0m\$ "' >> .bashrc
代码: 全选
\[ begin a sequence of non-printing characters, which
could be used to embed a terminal control sequence
into the prompt
\] end a sequence of non-printing characters
代码: 全选
export PS1="\[\e[1m\][\t@\w]\[\e[0m\]\$ "
感谢, 这样做就成功啦, 分享一下我的PS1变量:astolia 写了:你仔细看一下,就会发现原因是提前做了回车动作将光标移动到了行首。而提前量正好是你用的控制字符数量
如果要用控制字符,务必用\[和\]包裹,否则算行宽度时会出错,导致你遇到的换行问题。
以下摘抄自bash的manpage中PROMPTING一节所以换成代码: 全选
\[ begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt \] end a sequence of non-printing characters
就没事了代码: 全选
export PS1="\[\e[1m\][\t@\w]\[\e[0m\]\$ "
代码: 全选
PS1="\[\033[01m\][\[\033[01;32m\]\t\[\033[00m\]\[\033[01m\]@\[\033[01;34m\]\w\[\033[00m\]\[\033[01m\]]\n\$\[\033[00m\] "