将文件名从Nautilus传递到shell脚本

时间:2017-01-06 23:41:21

标签: linux debian nautilus

我正在尝试执行一个shell脚本,该脚本为参数获取文件名。

如果我去终端并键入完整的PATH,我可以这样做。

但是我试图让这个用户更友好,所以我想做的是从文件管理器或nautilus发送参数(完整路径)。

有可能吗?

2 个答案:

答案 0 :(得分:3)

有可能。这是一种方法:

将您的脚本复制到文件夹~/.local/share/nautilus/scripts/ - 请注意,此路径将展开以包含当前用户信息,例如:/home/john/.local/share/nautilus/scripts/

现在,在您的脚本上,使用$1捕获参数。例如,假设您的脚本用于删除文件,那么您的脚本可能是这样的:

#!/bin/bash
rm -f "$1"
exit

现在,重新启动Nautilus并导航到要执行操作的文件。右键单击该文件,然后在出现的菜单上选择“脚本”,在出现的菜单上,选择您的脚本名称 - 将以文件名作为参数执行脚本。

注意:不要忘记首先使脚本可执行,例如:chmod +x /home/john/.local/share/nautilus/scripts/myScript

答案 1 :(得分:2)

好的,我将分享一种我觉得有效的方式。

我试图做的就是将路径作为参数传递,而不是在命令行上输入。使用户友好。

所以我使用zenity工具,文件选择,浏览文件管理器并选择文件。

./script.sh $(zenity --file-selection)

请参阅,现在我正在传递我选择的文件的路径。

如果您想尝试一下,只需输入命令行。

zenity --file-selection