在没有新实例的应用程序中使用shell脚本在中打开文件



我有一个用于ubuntu的图片转换工具,它可以打开一个窗口,在那里你可以拖放jpeg并自动将其转换为.wepb文件。

这个工具是为我工作的公司编写的,它会自动将图片转换为webp,并在每张图片上添加水印标志,所以我必须使用这个工具。据我所知,这是一个使用XDND进行拖放的xwindow工具。写这封信的人已经联系不上了。

另一种选择是通过命令行直接转换图片:

user@linux-desktop: ./jpeg2webp /Home/User/Dekstop/Pic1.jpeg

它工作得很好,但当我使用bash/shell脚本时,它总是打开应用程序的一个新实例。

有没有办法告诉脚本在已经打开的实例中打开jpeg,可能是通过pid,并阻止打开另一个实例?或者用文件路径在应用程序窗口上模拟拖放?

例如:

tell /Home/User/Dekstop/Pic1.jpeg to drag and drop on ./jpeg2webp application window

我找不到有关您正在使用的应用程序的任何信息。

另一种方法是使用imagemagicksconvert工具:

convert in.jpg out.webp

为了方便起见,您还可以使用一个小包装脚本来转换文件,同时保留原始文件名:

#!/bin/bash
name="${1%.*}"  #get name from command line argument
convert "$1" "$name".webp  

并按以下方式运行:

./cwepb foo.jpg

最新更新