自定义Bash环境
Bash环境定制
能够自定义服务器上的Bash环境具有多种优势,例如为您使用的常用命令添加别名,自定义连接时显示的提示,以及显示登录信息。本文将帮助您了解如何执行此操作。
.bashrc文件
任何Bash环境自定义通常都会放在.bashrc文件中。它始终位于用户的主目录中,并且需要将本文中解释的任何自定义都将放在此文件中。有一点值得注意的是,放入.bashrc文件中的命令被识别为bash命令,并且可以在将它们添加到文件之前在shell环境中测试它们,以确保自定义将执行您想要的内容。
设置环境变量
Bash有一些环境变量设置为允许制表符完成命令并允许您轻松访问有关shell的信息。最常见的环境之一更改正在修改路径变量,告诉Bash用于搜索命令的路径。要设置环境变量,您需要写出变量,如此所示。
PATH=$PATH:/home/hwtest/bin
你会注意到有两次的路径。要在修改路径变量中保留当前信息,您必须在设置它时调用它并将更改附加到结尾。您可以设置您知道您需要的任何环境变量。
Bash命令别名
Bash有一个内置系统,允许您添加命令别名。 Bash命令别名允许您创建自己的命令或在标准命令调用中对命令使用某些标志。 例如,最常见的别名之一是命令ls列出所有文件,包括隐藏文件。 此示例如下:
alias ls='ls -a'
您还可以创建别名来执行长命令,例如连接到另一台服务器,如下所示:
alias servername='ssh user@server.hostname.com'
Bash别名非常强大,可以在Bash环境中提高整体生产率。
自定义Bash提示
除了别名之外,您还可以根据您的Bash提示显示方式自定义。我们将超越基本的定制,但如果您想了解有关控制提示的更多信息,您已覆盖官方Bash文档,并且可以找到该链接 这里。向前移动,下面是显示登录用户,短主机名,过去命令的退出代码的提示的示例,并且在新行上提供了键入提示:
要获得此提示,请将以下内容放入.bashrc文件中
PS1="[\u@\h:\w] \$?\n\\$ "
- \ U - 当前的用户名
- \ h - 短主机名(主机名最多为第一个'。)
- W - 工作目录,用TILDE缩写的$ HOME(即/ HOME / HWTEST / TXT /转向〜/ TXT /)
- \ $? - 上一个命令的退出代码。运行每个命令后,这将更新。
- \ n - 换换行符
- \\ $ - 这将显示为命令行的开头,除非UID为0,其中它显示为##如上所示。
您可以通过提示自定义进行一些强大的东西,这只是刮伤了表面。生成可读性和信息性的提示是在Bash环境中工作的关键。
登录信息显示
由于每次打开新的Bash会话时,都会执行.bashrc文件,因此您可能会发现自己希望在shell打开时立即显示要运行的信息的通用命令。Bash不仅支持这一点,而且要简单。我将在下面包含一个示例.bashrc文件作为一个例子。
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
# User specific aliases and functions
# Environment Variables
PATH=$PATH:/home/hwtest/bin
# Aliases
alias ls='ls -a'
alias ll='ls -lah --color=auto'
# Prompt
PS1="[\u@\h:\w] \$?\n\\$ "
# Display on session start
df -h
uptime
您可以在以下示例中看到添加DF -Hand uptime命令的结果。
每次启动新shell会话时都会运行命令,因此只需在此处允许快速和低资源成本命令,或者它可能会延迟会话开始。