Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未从脚本执行BASH chown命令:组名非法_Bash_Chown_Groupname - Fatal编程技术网

未从脚本执行BASH chown命令:组名非法

未从脚本执行BASH chown命令:组名非法,bash,chown,groupname,Bash,Chown,Groupname,我在MAC OS X终端中以root用户身份执行下面的脚本。管道命令成功运行,但脚本在chown命令处失败,出现以下错误: chown:域用户:非法组名 为什么? 请参见下面的脚本: #!/bin/bash echo Enter username read Name echo Enter number read NUM sudo -s "(cd /Users/$NAME && tar c .) | (cd /Users/$NUM && tar xf -)" s

我在MAC OS X终端中以root用户身份执行下面的脚本。管道命令成功运行,但脚本在chown命令处失败,出现以下错误:

chown:域用户:非法组名

为什么?

请参见下面的脚本:

#!/bin/bash

echo Enter username
read Name
echo Enter number
read NUM

sudo -s "(cd /Users/$NAME && tar c .) | (cd /Users/$NUM && tar xf -)"
sudo chown -R $NUM:"Domain Users" /Users/$NUM
sudo chmod g+rwx /Users/$NUM

您的变量读取错误:

应该是这样的:

...
read NAME
....
read NUM

“域用户”是一个Active Directory组,因此必须连接到该域,才能与该组中的指定用户进行通信并获得指定资源的所有权。我今天远程工作,没有通过VPN连接,因此没有连接到我们的域,因此无法访问Active Directory组“域用户”

域用户听起来像广告组名称。如果是这种情况,那么组成员来自OSX上的OpenDirectory。您将无法对广告组执行
chown
。不管怎样。“域用户”永远不会被视为有效的unix组。@Petey T:这个Mac绑定到Active Directory,那么为什么它的组成员资格来自OpenDirectory?@Petey T:此外,我以root用户身份多次手动运行这三个命令,成功率为100%,所以我看不出你的说法是否正确。@Petey T:“以root用户身份手动运行”…在终端内,即。我已经在终端中一个接一个地执行了很多次,没有问题。OpenDirectory是mac用来与active directory交互的。所以我说“广告”组。不是opendirectory group.Ehh…我的朋友,这就是我在堆栈站点上输入文本的方式。在实际的脚本中,它们的格式都是大写的。您可能应该在代码块中编辑并给出正确的语法。只是为了帮助我们排除语法错误。在问题中修复它不会帮助其他人查看它。您应该访问网站的“帮助”和“游览”部分。