我正在尝试执行一个shell脚本,该脚本为参数获取文件名。
如果我去终端并键入完整的PATH,我可以这样做。
但是我试图让这个用户更友好,所以我想做的是从文件管理器或nautilus发送参数(完整路径)。
有可能吗?
答案 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