我正在尝试运行命令
chown -R "$USER" /mnt/namenode
从bash脚本更改namenode文件夹及其子文件夹的所有权。当我手动输入命令时
sudo chown -R ubuntu /mnt/namenode
它有效,但不是我从脚本中做到的。从脚本中,只有namenode的所有权发生变化,而不是其子文件夹。有谁知道我怎么解决这个问题?
好的,我明白了。我的脚本在设置所有权后格式化namenode。在格式之前,子文件夹具有递归的正确所有权。格式化后,子文件夹的所有权将更改为root。所以我做了以下改变:
echo 'Y' | /home/$USER/hadoop-2.2.0/bin/hadoop namenode -format
sudo chown -R $USER:$USER /mnt/namenode
sudo chown -R $USER:$USER /mnt/datanode
换句话说,我在完成格式化后设置了所有权。
答案 0 :(得分:0)
试试这个:
chown -R $USER:$USER /mnt/namenode
答案 1 :(得分:0)
如果您使用sudo
运行脚本(正如您所做的那样),则脚本$USER
内的root
将不是普通用户。
因此,请在脚本中使用sudo
:
sudo chown -R "$USER" /mnt/namenode
并运行不带sudo
的脚本。
答案 2 :(得分:0)
我遇到同样的问题。
尝试在文件夹末尾添加斜杠:
chown -R "$USER" /mnt/namenode/