OS X Automator 和 shell 问题
OS X Automator and shell issue
我正在尝试在 OS X 上创建一个自动化工作流程,它可以在取景器中打开所选图像并使用 Photoshop 打开它
在此期间,我需要使用 Shell,这是我的代码
# create an empty string
a=""
# grab all the files selected in the finder (given by the previous operation)
for f in "$@"
do
# make a concatenation of the strings
a=$a" $f"
done
# change the spaces " " by backslash+space "\ "
a=${a//$" "/$"\ "}
# cut the first two characters
a=${a:2}
# make the full sentence
a="open -a Adobe\ Photoshop\ CC\ 2015 $a"
printf "$a"
最后一次printf的结果是
open -a Adobe\ Photoshop\ CC\ 2015 /Users/me/Downloads/image\ test.jpg
当我将它粘贴到 shell 中时,它工作得很好,但是当我通过添加
运行 它时
$a
在我的小脚本中,我遇到了这个问题(字符串被切断)
在此先感谢您的帮助:-)
不要将数组粉碎成字符串。那就是问题所在。按原样使用数组。
请参阅 Bash FAQ 050 了解为什么字符串化是一个问题。
所以只需使用:
open -a Adobe\ Photoshop\ CC\ 2015 "$@"
我正在尝试在 OS X 上创建一个自动化工作流程,它可以在取景器中打开所选图像并使用 Photoshop 打开它
在此期间,我需要使用 Shell,这是我的代码
# create an empty string
a=""
# grab all the files selected in the finder (given by the previous operation)
for f in "$@"
do
# make a concatenation of the strings
a=$a" $f"
done
# change the spaces " " by backslash+space "\ "
a=${a//$" "/$"\ "}
# cut the first two characters
a=${a:2}
# make the full sentence
a="open -a Adobe\ Photoshop\ CC\ 2015 $a"
printf "$a"
最后一次printf的结果是
open -a Adobe\ Photoshop\ CC\ 2015 /Users/me/Downloads/image\ test.jpg
当我将它粘贴到 shell 中时,它工作得很好,但是当我通过添加
运行 它时$a
在我的小脚本中,我遇到了这个问题(字符串被切断)
在此先感谢您的帮助:-)
不要将数组粉碎成字符串。那就是问题所在。按原样使用数组。
请参阅 Bash FAQ 050 了解为什么字符串化是一个问题。
所以只需使用:
open -a Adobe\ Photoshop\ CC\ 2015 "$@"