在终端中运行某个命令和打开终端并运行第一个命令的 Thunar 操作命令之间有什么区别?

在终端中运行某个命令和打开终端并运行第一个命令的 Thunar 操作命令之间有什么区别?

我的意思是,有几次我能够在某个文件夹中打开的终端窗口中成功运行命令,但是当使用命令(不是直接从终端运行,而是从 Thunar 自定义操作运行)执行相同操作时 - 即:在同一文件夹中打开终端并运行相同的初始命令 - 它不会按预期工作。

例如,我有一个文件夹,里面有一个pdf文件。我想将pdf页面保存为图像。

情况1:我在该文件夹中打开一个终端并运行以下命令:pdftoppm -png *.pdf prefix。pdf 页面被提取为 png 文件。

案例 2:我尝试从 Thunar 自定义操作中执行相同操作。我使用命令xfce4-terminal -e "pdftoppm -png *.pdf prefix"、外观条件;目录创建自定义操作,但该操作不执行任何操作。要获取更多详细信息,在运行命令后保持该终端窗口打开很有用,但我不知道如何使用 Xfce 终端执行此操作。使用 gnome-terminal,我创建了一个名为 new1 的配置文件,其设置为“当命令退出时:保持终端打开”,然后将此命令添加到自定义操作:

gnome-terminal --window-with-profile=new1 -e "pdftoppm -png *.pdf prefix"

但这会出现错误:

I/O Error: Couldn't open file '*.pdf': No such file or directory.

CASE 1 和 CASE 2 之间有何区别,导致不同的结果?


我对这个问题有答案Thunar - 自定义操作:将选定的 PDF 保存为图像。Thunar 自定义操作中起作用的命令是pdftoppm %f -png %f.png

但我很好奇为什么command在终端中可以运行,但打开终端并运行的另一个命令却command不行。

答案1

在我的系统上,Thunar 自定义操作似乎调用了命令,bash并使得使用xfce4-terminal变得多余。

请尝试以下操作:

cd %f && pdftoppm -png *.pdf prefix

在此处输入图片描述

您会收到I/O Error: Couldn't open file '*.pdf': No such file or directory.消息,因为您的选择现在是一个目录,并且当前目录是上一级。

因此在运行命令之前需要先cd进入目标pdftoppm

相关内容