定期,我喜欢将文件放在我的网络服务器的 /tmp 目录中以进行分享。令人讨厌的是,每当我 scp 文件时,我都必须设置权限。按照另一个问题的建议,我编写了一个脚本,将文件复制过来,设置权限,然后打印 URL:
#!/bin/bash
scp "$1" SERVER:"/var/www/tmp/$1"
ssh SERVER chmod 644 "/var/www/tmp/$1"
echo "URL is: http://SERVER/tmp/$1"
当我用我的实际主机替换 SERVER 时,一切都按预期工作......直到我使用包含空格的参数执行脚本。虽然我怀疑解决方案可能是使用 $@ ,但我还没有弄清楚如何让间隔文件名起作用。