为每个选定的文件夹打开程序实例的自定义操作?

为每个选定的文件夹打开程序实例的自定义操作?

在 Thunar 中,我希望能够使用以下命令打开文件夹前法索

我使用命令创建了一个自定义操作/usr/bin/exfalso %f。当我选择单个文件夹时,这有效。当我选择多个文件夹时,我希望 Thunar 为每个选定的文件夹打开一个 Ex Falso 实例。

我尝试了参数%F%N,但随后 Ex Falso 仅针对第一个文件夹打开。

答案1

我想知道您是否不尝试这样做,而是创建一个 shell 脚本,将参数%f作为自定义命令,然后在内部执行类似的操作:

#!/bin/bash

for i in "$@"; do
  echo "/usr/bin/exfalso $i"
done

这将生成一系列如下命令:

$ ./myexfalso_lancher.bash 1 2 3 "4 5"
/usr/bin/exfalso 1
/usr/bin/exfalso 2
/usr/bin/exfalso 3
/usr/bin/exfalso 4 5

这就是你想要的。要使其生效,您只需将该echo行更改为:

/usr/bin/exfalso "$i"

您可能关心也可能不关心此方法的问题。

  1. 如果您正在处理的文件/文件夹包含空格,那么for如果参数%f未加引号,则循环可能无法工作。将其切换为while带有read语句的循环可能能够更好地处理文件或文件夹名称中的空格。
  2. 我不能 100% 确定您传递到脚本中的命令参数应该是什么。我猜是的,%f但你可能需要使用其他东西。
  3. 您可能想在这个脚本中添加一些保护措施,以限制它可以启动的 exfalso 的数量。一个简单的循环计数器就可以做到这一点。一旦达到 10,它就可以退出。

相关内容