我已经搜索了我的 * ,但找不到任何对我有意义的内容。
我想在Finder中选择jpgs并使用上下文菜单中的services选项将关键字附加到图像。 我使用Automator来询问关键字并将其存储在变量中。
接下来就是使用带有exiftool的shell脚本来附加关键字。
问题是编写一个与这两个变量一起使用的shell脚本(其中一个是包含文件名的数组)
我找到了一个非常有趣的博客文章: http://coreygilmore.com/blog/2010/05/07/passing-multiple-automator-variables-to-a-shell-script/
但我发现Shell代码太混乱了:
for everyFile
exiftool IPTC:关键字+ =“$ MyKeywordsString”$ file
请帮帮我! 我想Applescript也可以,但我不知道怎么写它......
提前致谢!
@shellter: 它不起作用,这是我的终端输出:
Last login: Thu Jul 28 19:57:54 on ttys000
localhost:~ benjamin$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
localhost:~ benjamin$ export Keywords=testKeyword
localhost:~ benjamin$ echo $Keywords
testKeyword
localhost:~ benjamin$ /Users/benjamin/Desktop/myKeyWords.sh /Users/benjamin/Desktop/image.jpg /Users/benjamin/Desktop/image2.jpg
/Users/benjamin/Desktop/myKeyWords.sh: line 1: $: command not found
File not found: Keywords=
======== /Users/benjamin/Desktop/image.jpg
ExifTool Version Number : 8.61
File Name : image.jpg
Directory : /Users/benjamin/Desktop
File Size : 128 kB
File Modification Date/Time : 2011:07:27 10:41:49+02:00
File Permissions : rw-r--r--
File Type : JPEG
MIME Type : image/jpeg
JFIF Version : 1.01
Resolution Unit : None
X Resolution : 1
Y Resolution : 1
Current IPTC Digest : c76c591fd016b068e1b44202c9f1996c
Keywords : MeinNeuerTag, MeinNeuerTag
Application Record Version : 4
Comment : CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90.
XMP Toolkit : XMP Core 4.4.0
Image Width : 600
Image Height : 601
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2)
Image Size : 600x601
1 image files read
1 files could not be read
为什么将关键字视为文件? 我在哪里必须把脚本只输入“脚本参数参数”而不是路径?抱歉,当我输入“echo $ PATH”时,我对终端所回应的内容一无所知。也许你可以帮助我。
再次感谢你!非常感谢!
答案 0 :(得分:1)
您可以将fileNames视为一个数组,但从shell的角度来看,它可能更容易设想,它们只是一个列表。
你需要制作像
这样的剧本$ cat myKeyWords.sh
#! /bin/bash -vx
for file in "${@}" ; do
exiftool Keywords="${myKeyWord}" "${file}"
done
创建文件后,您需要创建该文件,以便系统具有运行该文件的权限。
做chmod 755 myKeyWords.sh
。您需要将此脚本放在Automater工具知道的目录中,或者放在PATH中的目录中。请echo $PATH
查看有哪些值。如果有一个名为/usr/local/bin
,那么这可能是放置新脚本的最佳位置。
您必须参考博客文章,了解如何将自动关键字中的关键字值传递给您的shell脚本。如果你很幸运,那就可以了。
此脚本已启用shell调试模式(第一行为-vx
)。您应该能够看到脚本中发生了什么,因为调试将显示脚本中每个(最多)步骤正在执行的内容。
我建议在使用Automator之前确保脚本自行运行。在终端窗口打开,并将其设置为:
export Keyword=xxxxx
myKeywords.sh file1 file2 file3 ...
当它完全按照您的需要工作时,您可以删除脚本第一行中的-vx
。
此脚本还假定您的系统上有/bin/bash
可用,根据需要更改该值以运行可用的shell /bin/sh, /bin/ksh, /bin/zsh
,您可能需要将路径/bin/
更改为{ {1}}找到贝壳。
我真的不认为你想要用户关键字+ =“$ myKeywordsString”,因为每当脚本通过该任务时,这将增加关键字的值。您可以通过在调试模式下查看输出来确认。
我希望这会有所帮助。
P.S。因为您似乎是新用户,如果您得到的答案可以帮助您,请记住将其标记为已接受,并且/或者给它一个+(或 - )作为有用的答案。