我想为右键单击添加 nautilus 脚本,例如使用 base64 转换所选文件但没有运气。终端中的常规命令如下:
base64 input.jpg output.txt
这是我最接近的脚本;
#!/bin/sh
echo "$NAUTILUS_SCRIPT_SELECTED_FILE_Path" | base64 > Base64
但它给出了文件的路径为base64。有人可以帮我解决这个问题吗?
我想为右键单击添加 nautilus 脚本,例如使用 base64 转换所选文件但没有运气。终端中的常规命令如下:
base64 input.jpg output.txt
这是我最接近的脚本;
#!/bin/sh
echo "$NAUTILUS_SCRIPT_SELECTED_FILE_Path" | base64 > Base64
但它给出了文件的路径为base64。有人可以帮我解决这个问题吗?
您的原始脚本有几个问题:
"$NAUTILUS_SCRIPT_SELECTED_FILE_Path"
应该全部大写和拼写不同,如“$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS”。echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | base64
只会对字符串“$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS”进行编码,仅此而已。如果要对文件进行编码,则需要通过xargs
或者更好地传递该变量 - 直接传递它。base64
可以将文件作为参数,因此base64 "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
是您真正想要做的。这里没有管道,没有echo
。下面我提供替代且相当简单的方法
脚本
指示
将此文件放入
~/.local/share/nautilus/scripts/
目录确保它可以通过
chmod +x <path to script here>
命令执行。选择您想要的文件,右键单击,然后转到脚本子菜单。选择您的脚本。
脚本完成后,每个 base64 编码文件将被放入您的主文件夹中,并带有原始文件名和
.base64
扩展名。您可能希望更改脚本以.base64
在同一目录中创建文件,这完全可以,但如果您没有在该目录中创建文件的权限,则可能会出现问题。当然,这个脚本有点简单。我在 Python3 中创建了一些更复杂的脚本,您可以在我的GitHub 存储库中找到有关nautilus 脚本的内容。它比其他脚本做得更多——检查文件类型、显示信息和错误弹出窗口等。
我假设您已经可以将自定义脚本添加到 nautilus 并且只需要正确的脚本来执行实际工作,如果是这种情况,请尝试以下脚本:
请使用以下命令使文件可执行:
解释:
-n "$1"
检查值是否大于 0,即不是 0-f "$1"
检查文件是否存在并且是常规文件。shift
通过给定的参数移动m=$(($m + 1))
添加1
到0
初始计数值以跟踪正在转换的文件数zenity
显示一个对话框以指示操作结束。谢谢大家,在您的帮助和编码和解码建议下,我做了两个脚本。
编码:
解码: