我更频繁地使用一些 Linux 命令,例如转到特定目录,grep 某些文本等。我为每个命令分配了一个变量并将它们保存在脚本文件中,每次登录我的 Linux 机器时我都会运行脚本文件所以我可以使用变量而不是输入冗长的命令。
当我登录到我的 Linux 机器时,我是否可以确保我的脚本文件每次都运行,这样我就不需要每次都运行它?
是否有另一种方法来存储我经常使用的命令,以便在我打开我的 Linux 机器时可以使用它们?
如果您正在使用 bash(可能是),请将其添加到您的.bashrc
. 你会在你的主目录中找到它。
其他 shell 有相应的启动脚本。
为非登录 shell 添加命令到 .bashrc,或为登录 shell 添加命令到 .bash_profile(当然,假设您使用的是 bash)。
当 bash 作为交互式登录 shell 或作为带有 --login 选项的非交互式 shell 调用时,它首先从文件 /etc/profile 中读取并执行命令(如果该文件存在)。读取该文件后,它会按顺序查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,然后从第一个存在且可读的文件中读取并执行命令。当 shell 启动时,可以使用 --noprofile 选项来禁止这种行为。
当登录 shell 退出时,bash 从文件 ~/.bash_logout(如果存在)读取并执行命令。
当一个不是登录 shell 的交互式 shell 启动时,bash 会从 ~/.bashrc 读取并执行命令,如果该文件存在的话。这可以通过使用 --norc 选项来禁止。--rcfile 文件选项将强制 bash 从文件而不是 ~/.bashrc 读取和执行命令。
您必须将脚本放入.bashrc
文件中,它位于您的主目录中
nano ~/.bashrc
它仅在您使用 bash 时有效。
别名是怎么回事?
如果我是对的,您可以将它们存储在 ~/.bashrc 中。
您可以使用.bashrc
文件,但是当您打开交互式 Bash shell 时会执行此脚本。那就是每次您使用终端连接到服务器时(如果 Bash 是您的默认 shell)或打开另一个打开交互式 shell(如su - $USER
)的 shell。
如果您在 Linux (Unix) 上使用 X-Window GUI 在本地工作,则每次打开终端程序(如KDE 中 的Konsole或gnome-terminal)时都会执行该脚本。这可能不是你所期望的。在这种情况下,您可以破解.xinit脚本或使用显示管理器或桌面环境方式在启动时执行脚本。很难说是怎么回事,因为它特定于您的环境(Linux/Unix 发行版或桌面环境(KDE、GNOME、...))。