我有一台运行定制Linux的机器,我通过PuTTY登录系统。
原来我使用的bash
是PS1
sh-4.1# echo $PS1
\s-\v\$
当我输入以下内容时:
sh-4.1# ls a very long path i will not be able to see the rest of the command line
我再看看吧
sh-4.1#
< i will not be able to see the rest of the command line
我可以使用左箭头键向前移动:
sh-4.1# ls a very long path i will not be able to see the rest of the command >
这非常不方便,因为您必须移动光标才能看到命令行的其余部分。
我怎样才能显示整个命令行?
答案1
没有人sh
再使用它,它始终是特定于发行版的默认 shell 的符号链接(ash
、ksh
、bash
、dash
、zsh
等)。您可以使用readlink -e $(which sh)
您是否正在使用或终端仿真器(Virtual Terminal
例如gnome-terminal
、、等)?xterm
konsole
无论如何,这里有一个技巧:按CTRL++初始化编辑器(由环境变量设置) X,然后保存并退出,您的长命令将被执行。EEDITOR
您可能希望使用以下方法更改默认编辑器export EDITOR="nano -w"
答案2
答案3
如果您确实必须一次性输入路径,我可能会建议更改提示。如果您不介意返回 bash,您可以在 PS1 变量定义的末尾附近添加换行符,这会将样板移到单独的行,从而为您提供更多可用的行。这可以通过编辑来完成.bashrc
,如下所示:
# Original line from ~/.bashrc:
PS1='\s-\v# '
# ^^ prints "bash-4.2# _" as the prompt on my system
# (Ignore parens, underscore shows cursor position)
# or insert '\n':
PS1='\s-\v\n# '
# ^^ newline, now prints
# "bash-4.2
# # _"
这样做的缺点是,您的提示现在占用了更多的屏幕空间,并且根据您原来的提示,每行可能只会给您提供几个字符来处理。
话虽如此,真的必须立即输入路径吗? 可能值得cd
向下输入几个级别(因为您已经从路径中知道了它们的位置),然后运行ls
或执行其他操作。