![为每个选定的文件夹打开程序实例的自定义操作?](https://linux22.com/image/3830/%E4%B8%BA%E6%AF%8F%E4%B8%AA%E9%80%89%E5%AE%9A%E7%9A%84%E6%96%87%E4%BB%B6%E5%A4%B9%E6%89%93%E5%BC%80%E7%A8%8B%E5%BA%8F%E5%AE%9E%E4%BE%8B%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E6%93%8D%E4%BD%9C%EF%BC%9F.png)
在 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"
您可能关心也可能不关心此方法的问题。
- 如果您正在处理的文件/文件夹包含空格,那么
for
如果参数%f
未加引号,则循环可能无法工作。将其切换为while
带有read
语句的循环可能能够更好地处理文件或文件夹名称中的空格。 - 我不能 100% 确定您传递到脚本中的命令参数应该是什么。我猜是的,
%f
但你可能需要使用其他东西。 - 您可能想在这个脚本中添加一些保护措施,以限制它可以启动的 exfalso 的数量。一个简单的循环计数器就可以做到这一点。一旦达到 10,它就可以退出。