如何编写在终端启动时显示所有别名的脚本
How do I write a script that shows all aliases upon startup of terminal
我是新用户,正在学习使用Linux。我目前 运行 Ubuntu 18.04 创建了几个别名,并保存在 ~/.bashrc 目录中。我正在尝试编写一个欢迎脚本,该脚本还会在启动时显示当前别名。我目前的代码如下:
#! /bin/bash
echo -e "\nWelcome $USER"
echo -e "Today's date is: \c"
date
echo -e "\vHave \vA \VGreat \vDay! \c"
echo -e "\nCurrent aliases for reference are:"
alias
在启动时,或者 运行 脚本本身,欢迎消息运行但实际的别名命令没有运行?
要事第一:
(...) saved in the ~/.bashrc directory. (...)
嗯,我必须指出 .bashrc
是一个文件,而不是一个目录,并且是 Bash startup files 的一部分。
也就是说,运行 脚本中的 alias
命令无法按预期工作的原因是它是一个 shell builtin, and when invoking it from a script will not behave as if running it from your shell。
因此,您可以做的最快的事情就是将您的别名存储在不同的文件中,例如 ~/.bash_aliases
并确保通过将其添加到您的 .bashrc
文件来加载它:
if [ -f ~/.bash_aliases ]; then
source ~/.bash_aliases
fi
然后直接从脚本中读取该文件:
#! /bin/bash
echo -e "\nWelcome $USER"
echo -e "Today's date is: \c"
date
echo -e "\vHave \vA \VGreat \vDay! \c"
echo -e "\nCurrent aliases for reference are:"
cat ~/.bash_aliases
我是新用户,正在学习使用Linux。我目前 运行 Ubuntu 18.04 创建了几个别名,并保存在 ~/.bashrc 目录中。我正在尝试编写一个欢迎脚本,该脚本还会在启动时显示当前别名。我目前的代码如下:
#! /bin/bash
echo -e "\nWelcome $USER"
echo -e "Today's date is: \c"
date
echo -e "\vHave \vA \VGreat \vDay! \c"
echo -e "\nCurrent aliases for reference are:"
alias
在启动时,或者 运行 脚本本身,欢迎消息运行但实际的别名命令没有运行?
要事第一:
(...) saved in the ~/.bashrc directory. (...)
嗯,我必须指出 .bashrc
是一个文件,而不是一个目录,并且是 Bash startup files 的一部分。
也就是说,运行 脚本中的 alias
命令无法按预期工作的原因是它是一个 shell builtin, and when invoking it from a script will not behave as if running it from your shell。
因此,您可以做的最快的事情就是将您的别名存储在不同的文件中,例如 ~/.bash_aliases
并确保通过将其添加到您的 .bashrc
文件来加载它:
if [ -f ~/.bash_aliases ]; then
source ~/.bash_aliases
fi
然后直接从脚本中读取该文件:
#! /bin/bash
echo -e "\nWelcome $USER"
echo -e "Today's date is: \c"
date
echo -e "\vHave \vA \VGreat \vDay! \c"
echo -e "\nCurrent aliases for reference are:"
cat ~/.bash_aliases