【问题标题】:Change directory and applescript terminal command更改目录和applescript终端命令
【发布时间】:2016-02-06 10:59:00
【问题描述】:
我尝试了以下方法,但似乎无法使其正常工作:
do script "cd ~/desktop/test; for x in ls -1 | sed -e 's/^\(.\).*/\1/' | sort -u; do mv -i ${x}?* $x done"
我想在 applescript 中执行这个命令。我在applescript中运行它,我收到一个关于“”标记的错误,但不知道如何更正它。我是applescript的新手。愿意学习只是有点迷茫。
谢谢
【问题讨论】:
标签:
terminal
applescript
cd
【解决方案1】:
请注意,在 AppleScript 中,每当您传递带有 \ 的 shell 脚本命令时,都使用 \\ 来表示它。
作为:
do shell script "cd ~/Desktop/; for x in `ls -1 | sed -e 's/^\\(.\\).*/\\1/' | sort -u`; do echo ${x}?* $x; done"
此外,它使用 for x in `command`,而不是 for x in command。这是因为 `` 把里面的所有东西都当作一个命令,并且期望这个命令的结果,就像 $() 一样:
do shell script "cd ~/Desktop/; for x in $(ls -1 | sed -e 's/^\\(.\\).*/\\1/' | sort -u); do echo ${x}?* $x; done"