我在试着执行命令

chown -R "$USER" /mnt/namenode

从bash脚本更改namenode文件夹及其子文件夹的所有权。当我手动键入命令时
sudo chown -R ubuntu /mnt/namenode

它起作用了,但当我从剧本里做的时候就不行了。从脚本中,只有namenode的所有权在更改,而不是其子文件夹有人知道我该怎么解决吗?
好的,我明白了。我的脚本正在设置所有权之后格式化namenode。在格式化之前,子文件夹递归地拥有正确的所有权。格式化后,子文件夹的所有权将更改为根文件夹。所以我做了如下改变:
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

换句话说,我在格式化之后设置所有权。

最佳答案

试试这个:

chown -R $USER:$USER /mnt/namenode

关于bash - 无法从bash脚本更改文件所有权,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29866391/

10-14 06:12