启动我的“.profile”的单词没有执行

启动我的“.profile”的单词没有执行

我正在尝试将启动词添加到我的个人资料中,但是我收到了"hstart: command not found"

sudo vi ~/.profile
alias hstart="$HOME/.linuxbrew/Cellar/hadoop/2.7.3/libexec/sbin/start-dfs.sh;$HOME/.linuxbrew/Cellar/hadoop/2.7.3/libexec/sbin/start-yarn.sh"
alias hstop="$HOME/.linuxbrew/Cellar/hadoop/2.7.3/libexec/sbin/stop-yarn.sh;$HOME/.linuxbrew/Cellar/hadoop/2.7.3/libexec/sbin/stop-dfs.sh"

文件位置.sh

./.linuxbrew/Cellar/hadoop/2.7.3/libexec/sbin

find -iname "start-dfs.sh"
./.linuxbrew/Cellar/hadoop/2.7.3/libexec/sbin/start-dfs.sh
./.linuxbrew/Cellar/hadoop/2.7.3/sbin/start-dfs.sh

答案1

要点:

  • 通过执行,您已将iesudo vi ~/.profile打开并编辑为,这是因为 shell首先进行波浪符号 ( ) 扩展,因此获取文件的完整路径。内部扩展将取决于调用用户。.profile"$HOME"/.profileroot~sudo vi$HOME

  • ~/.profile仅对登录 shell(给定~/.bash_profile且不~/.bash_login存在)读取,不用于任何交互式 shell,~/.bashrc在任何交互式 shell 会话中读取

因此,您需要将alias定义放入您的~/.profile(只需执行vi ~/.profile,删除),并通过获取当前会话文件中sudo的定义。在我看来,您最好将定义放入。source~/.profilesource ~/.profile~/.bashrc


~/.bashrcUbuntu默认的有:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

因此您也可以将alias定义放进去~/.bash_aliases,只是为了保持它们分开并且易于维护。

相关内容