Ale*_*lex 18 linux users ubuntu
在我的一台服务器上,提示是 [user@host path]...我实际上可以按下“tab”来自动填充路径。
但是在我的新 Ubuntu 服务器上,它只是一个美元符号?
小智 31
既然你问了两个问题,我就回答两个。
因为你的 shell 要么不支持它,要么没有打开选项卡完成。
要解决此问题,您首先需要了解您的外壳是什么。在你喜欢它的外壳的机器上,运行
echo $SHELL
Run Code Online (Sandbox Code Playgroud)
您可能会看到常见的/bin/bash,或者不那么常见的/bin/tcsh,/bin/zsh或者完全不同的东西。
现在,您可以在 Ubuntu 机器上更改您的 shell。在这台机器上,首先确保你想要的 shell 存在。由于 shell 在 Ubuntu 机器上的位置可能与另一台机器上的位置不同,请通过键入来检查位置
which bash
Run Code Online (Sandbox Code Playgroud)
这将为您提供所需外壳的路径,例如/bin/bash, /usr/bin/bash, 或/usr/local/bin/bash。当然,如果你想比其他的bash壳,你会说which tcsh,which zsh或者类似的。
如果您没有看到路径,而是看到了bash not found,那么您需要安装适当的包,并再次使用which来找出 shell 的安装位置。
使用您选择的 shell 的路径,您最终可以通过运行来更改您的 shell
chsh -s /bin/bash
Run Code Online (Sandbox Code Playgroud)
替换/bin/bash为您选择的 shell 的任何适当路径。
因为你提示的环境变量$PS1, $PS2, 等等。这些东西往往不能在 shell 之间移植,所以这里有一些可能的候选人的链接:
bash有一个广泛的手册,有关于Bash 变量(包括PS1, &c)和打印提示(它描述PROMPT_COMMAND了 的长名称PS1)的页面。将以下行添加到您的~/.bashrc
export PS1='[\u@\h \w] '
Run Code Online (Sandbox Code Playgroud)
tcsh有一个在线手册(只是它的手册页),其中有一个关于提示环境变量的部分。将以下行添加到您的~/.tcshrc
set prompt='[%n@%m %~] '
Run Code Online (Sandbox Code Playgroud)
zsh有一个用户指南,有一个简单的提示指南,还有一个手册,有关于提示扩展的非常详细的参考。将以下行添加到您的~/.zshrc
export PS1='[%n@%m %~] '
Run Code Online (Sandbox Code Playgroud)
我想,您没有使用 bash,但是 sh 和您的提示设置不正确(如果这甚至可以使用 sh)。
您可以通过键入以下内容来获取当前的外壳: echo $SHELL
如果你想启动 bash,只需输入 bash
Bash 不是唯一的 shell。
您的问题可能是没有设置 PS1 的 .profile 或 .bashrc 的简单问题,也可能是您的登录 shell 根本不是 bash。
Bashgnu readline用于诸如制表符补全之类的事情。这是一个复杂的主题,readline 甚至有自己的每用户配置文件。
见man bash、man sh、 和man 3 readline。Bash 回应--version. 在许多 linux 系统上,/bin/sh实际上不是 bash,而是ash.
| 归档时间: |
|
| 查看次数: |
54125 次 |
| 最近记录: |