如何在 bash 中以文件和文件夹作为参数编写 Automator 操作?
当我使用 Bash 在 XCode 中创建 Automator 操作时,所有文件和文件夹路径都会打印到标准输入。
我如何获取这些文件的内容? 无论我尝试什么,我只能在输出中得到文件名。
如果我只选择“运行 shell 脚本”,我可以选择是否希望所有内容都作为标准输入或作为参数。可以为 XCode 项目完成此操作吗?
使用 Applescript 并让它运行 Bash 几乎更容易。
我尝试过类似的东西
xargs | cat | MyCommand
When I create a Automator action in XCode using Bash, all files and folder paths are printed to stdin.
How do I get the content of those files?
Whatever I try, I only get the filename in the output.
If I just select "Run shell script" I can select if I want everything to stdin or as arguments. Can this be done for an XCode project to?
It's almost easier to use Applescript, and let that run the Bash.
I tried something like
xargs | cat | MyCommand
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
xargs 和 cat 之间的管道在那里做什么?尝试
或更好地
正确处理带有空格等的文件名。
相反,如果您希望在每个文件上调用 MyComand,
也可能有用。
What's the pipe between
xargs
andcat
doing there? Tryor, better,
to properly handle file names with spaces etc.
If, instead, you want MyComand invoked on each file,
may also be useful.
read
将从脚本的标准输入中读取行;只需确保将$IFS
设置为不会干扰发送路径名而没有反斜杠转义任何空格的内容:read
will read lines from the script's stdin; just make sure to set$IFS
to something that won't interfere if the pathnames are sent without backslashes escaping any spaces: