我正在尝试在Mac OS X 10.10 Yosemite上查看Safari中的默认主页。
在我的vanilla系统上,主页实际上没有设置,所以首先我使用命令强制设置HomePage:
defaults write com.apple.Safari.plist HomePage www.google.co.uk
现在我可以使用此命令读取HomePage设置:
defaults read com.apple.Safari.plist HomePage
www.google.co.uk
是输出。
我需要使用由Microsoft SCCM提供和执行的Bash脚本为控制台用户执行此操作。 Microsoft SCCM客户端在计算机的系统帐户下运行,因此运行上面的defaults read命令不会报告登录用户的设置。要解决此问题,我使用的命令首先确定登录用户的userID,然后使用另一个命令读取HomePage值,使用Safari plist文件的登录用户(如果适用)实例的完整路径。
如果我手动执行前四行,预期的主页将存储在变量myuserhompage中,并按预期显示。
myuser=$(stat -f%Su /dev/console)
myuserhompage="$(defaults read /users/$myuser/library/preferences/com.apple.Safari HomePage)"
if [[ ${myuserhompage} == "www.google.co.uk" ]] ;
then
echo "homepage_set"
exit 0
else
echo "homepage_not_set"
exit 1
fi
但是,当我在Bash脚本中运行相同的代码行时,我看到域/默认对不存在错误。
答案 0 :(得分:0)
通过直接将文本重新键入OS X VM,而不是依赖于从Windows主机复制/粘贴,我现在看来终端命令行和脚本命令之间的一致性。这解决了我的问题。它还强调了我已相应更新的结果评估问题。感谢。