【发布时间】:2020-09-26 17:42:27
【问题描述】:
我正在尝试使用以下命令制作 AppleScript,但当我运行它时,do shell script 命令出错。我尝试在终端中运行它,它工作得非常好,所以我认为 AppleScript 告诉 shell 脚本执行存在问题。有人有解决方案吗?还有必要在我的脚本末尾加上end run 吗?
do shell script "screencapture -R123,456,1,1 -t bmp $TMPDIR/test.bmp &&
xxd -p -l 3 -s 54 $TMPDIR/test.bmp |
sed 's/\\(..\\)\\(..\\)\\(..\\)/\\3\\2\\1/'"
编辑:另外,您如何将 shell 脚本的输出设为 var?
编辑 2:运行 do shell script "screencapture -R123,456,1,1 -t bmp $TMPDIR/test.bmp" 工作得很好,所以我认为它可能与 tmpdir 有关
编辑 3:我再次运行它,它以某种方式工作得很好,所以如果有人知道如何使输出成为一个 var,那将非常感谢!
【问题讨论】:
-
$TMPDIR没有定义,所以它可能在抱怨。do shell script命令不需要end run。 -
CrazeDave,在我的系统上运行良好。
-
@red_menace,
TMPDIR已定义,只需运行do shell script "echo $TMPDIR"并在我的系统上返回例如/var/folders/71/rhgmzdz532d6tqqfx372xdk00000gn/T/ -
顺便说一句,这是一种在给定坐标处获取单个像素的十六进制颜色表示法的有趣方法。
-
@user3439894 拿到 /var/folders/71/rhgmzdz532d6tqqfx372xdk00000gn/T/ 后该怎么办?
标签: macos shell applescript