在最新版本的 ubuntu 中,右键单击文件无法创建受密码保护的档案(参见此问题)。但是我仍然需要做这类事情,因此我尝试创建一个可以完成同样工作的 nautilus 脚本。
它仍然很原始(我不太擅长编写 bash 脚本),但它还是可以工作的。唯一的问题是:如果文件名中有空格,它会中断。
#!/bin/bash
files=""
for line in $@; do
files+=" $line"
done
cd $NAUTILUS_SCRIPT_CURRENT_URI
gnome-terminal -t "Compressing File(s)" --hide-menubar -e "zip -r --encrypt compressed_file.zip $files"
我怎样才能包装$line
变量(第 4 行)以将文件名包装在引号内?
编辑:我可以使用 file-roller 代替 shell zip 命令(它确实更简单):
#!/bin/bash
file-roller -d $@
但为了避免出现问题,我仍然需要将文件名括在引号中
答案1
尝试这个:
#!/bin/bash
file-roller -d "$@"
加上引号$@
可以使其正确处理空格。