我正在尝试将启动词添加到我的个人资料中,但是我收到了"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
要点:
通过执行,您已将ie
sudo vi ~/.profile
打开并编辑为,这是因为 shell首先进行波浪符号 ( ) 扩展,因此获取文件的完整路径。内部扩展将取决于调用用户。.profile
"$HOME"/.profile
root
~
sudo vi
$HOME
~/.profile
仅对登录 shell(给定~/.bash_profile
且不~/.bash_login
存在)读取,不用于任何交互式 shell,~/.bashrc
在任何交互式 shell 会话中读取
因此,您需要将alias
定义放入您的~/.profile
(只需执行vi ~/.profile
,删除),并通过获取当前会话文件中sudo
的定义。在我看来,您最好将定义放入。source
~/.profile
source ~/.profile
~/.bashrc
~/.bashrc
Ubuntu默认的有:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
因此您也可以将alias
定义放进去~/.bash_aliases
,只是为了保持它们分开并且易于维护。