![KDE 服务菜单获取所选文件的列表](https://linux22.com/image/1163016/KDE%20%E6%9C%8D%E5%8A%A1%E8%8F%9C%E5%8D%95%E8%8E%B7%E5%8F%96%E6%89%80%E9%80%89%E6%96%87%E4%BB%B6%E7%9A%84%E5%88%97%E8%A1%A8.png)
我是一名 Gnome 用户,正在尝试 KDE 5。当我使用 Nautilus(Gnome)时,我有一堆 shell 脚本操作,它们对变量给出的选定文件路径列表进行操作$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
。
读完这个答案,我知道 Dolphin 动作提供了代码%F: A list of files. Use for apps that can open several local files at once. Each file is passed as a separate argument to the executable program
。
问题是每个文件作为单独的参数传递给可执行程序,而我的脚本设计用于与变量 $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS 一起使用。
理想情况下,我想重用我的旧脚本。是否可以转换 Dolphin 的%F
列表并将其设置为我的脚本的变量$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
?
答案1
您可以访问使用$@
bash 传递给脚本的所有参数,从技术上讲,这意味着您可以创建一个包装脚本,首先准备一个虚假的环境变量,如下所示:
export NAUTILUS_SCRIPT_SELECTED_FILE_PATHS=$@
./real-script.sh
当然,$@
如果您愿意,您也可以简单地修改脚本以使用这样的方式,而不是原始的 nautilus 变量:
for var in "$@"
do
echo "x" "$var"
done
另请注意,在您的.desktop
ServiceMenus 文件中,您需要执行类似以下操作:
Exec=script %F
请注意,%F
其周围没有引号。