将绝对文件路径传递给打开命令 OSX 的 --args 选项

将绝对文件路径传递给打开命令 OSX 的 --args 选项

/usr/local/bin/foo我有一个使用命令行参数打开应用程序的脚本:

#!/bin/bash

open -a Foo.app --args $@

问题是,当我跑步时

foo bar.txt

结果是Foo.app打开后提示bar.txt找不到。然而,

foo /absolute/path/to/bar.txt

按预期工作。

有没有简单的如何自动将绝对路径传递给--args打开命令的选项?

答案1

这是我能想到的最简单的解决方案

#!/bin/bash
for i in $@
do
     ARGS=`realpath $i`" $ARGS"
done

open -a Foo.app --args $ARGS

相关内容