我是一个学习使用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
启动时,或单独运行脚本时,欢迎消息会运行,但实际的别名命令不会运行?
首先要注意:
(...)保存在〜/ .bashrc目录中。 (...)
嗯,我必须指出,.bashrc
是文件而不是目录,并且是Bash startup files的一部分。
也就是说,在脚本内运行alias
命令的原因是它是shell builtin,并且是从脚本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