为什么 "dscl . -change /Users/wick RealName" 在终端而不是在脚本编辑器中完成工作?
Why does "dscl . -change /Users/wick RealName" do the job in Terminal but not in ScriptEditor?
root# dscl . -change /Users/default RealName "Brian" "David"
当 运行 在终端中执行此命令时,与主文件夹 "default" 关联的用户的全名从 Brian 更改为 David。
然而,当我尝试 运行 在 ScriptEditor 中执行此命令时,出现语法错误。
do shell script "dscl . -change /Users/default RealName "Brian" "David""
关于如何更正此问题的任何想法?
第二个双引号破坏了语法,因为它表示文字 shell 脚本参数的结尾。您甚至可以在源文本中看到它(语法高亮显示)。
我猜名字周围的双引号是不需要的,所以它很简单
do shell script "dscl . -change /Users/default RealName Brian David"
但是,如果需要双引号,则必须转义它们
do shell script "dscl . -change /Users/default RealName \"Brian\" \"David\""
root# dscl . -change /Users/default RealName "Brian" "David"
当 运行 在终端中执行此命令时,与主文件夹 "default" 关联的用户的全名从 Brian 更改为 David。
然而,当我尝试 运行 在 ScriptEditor 中执行此命令时,出现语法错误。
do shell script "dscl . -change /Users/default RealName "Brian" "David""
关于如何更正此问题的任何想法?
第二个双引号破坏了语法,因为它表示文字 shell 脚本参数的结尾。您甚至可以在源文本中看到它(语法高亮显示)。
我猜名字周围的双引号是不需要的,所以它很简单
do shell script "dscl . -change /Users/default RealName Brian David"
但是,如果需要双引号,则必须转义它们
do shell script "dscl . -change /Users/default RealName \"Brian\" \"David\""