Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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
Macos Mac OS 10.10调用从bash脚本读取的默认值会生成“不存在”错误的域/默认值对_Macos_Bash - Fatal编程技术网

Macos Mac OS 10.10调用从bash脚本读取的默认值会生成“不存在”错误的域/默认值对

Macos Mac OS 10.10调用从bash脚本读取的默认值会生成“不存在”错误的域/默认值对,macos,bash,Macos,Bash,所以我的目标是检测计算机的默认语言。所以我在命令行上运行了这个命令: defaults read .GlobalPreferences AppleLanguages | tr -d [:space:] | cut -c2-3 它输出您设置的默认语言 但是,当我从bash脚本调用它时,它总是生成以下错误: The domain/default pair of (.GlobalPreferences, AppleLanguages) does not exist 这是我调用defaults命令的

所以我的目标是检测计算机的默认语言。所以我在命令行上运行了这个命令:

defaults read .GlobalPreferences AppleLanguages | tr -d [:space:] | cut -c2-3
它输出您设置的默认语言

但是,当我从bash脚本调用它时,它总是生成以下错误:

The domain/default pair of (.GlobalPreferences, AppleLanguages) does not exist
这是我调用defaults命令的行:

def_lang=$(defaults read .GlobalPreferences AppleLanguages | tr -d [:space:] | cut -c2-3)

不知道为什么直接从命令行调用时会正确输出,但从bash脚本调用时会出错。

感谢您的输入。你的回答是正确的。的其他组件需要作为根运行。幸运的是,我找到了一些不需要以root身份运行的解决方法,现在它可以工作了。

将这些命令放在脚本中,并在Bash提示符下在Yosemite上执行它。但是,使用
sudo
运行这些命令会复制错误消息。我猜root用户没有这些设置。谢谢你的输入。的其他组件需要作为根运行。幸运的是,我找到了一些不需要以root身份运行的解决方法,现在它可以工作了。请将其作为答案发布,然后将其标记为已接受,这样这个问题就不会再出现未解决的情况。谢谢。你的解决办法是什么?这是很久以前的事了,我忘记了具体的实现。我相信我必须确保脚本的当前用户与我正在寻找的用户匹配。