我一直在试图弄清楚如何通过shell 脚本中的命令wget
来“捕获”下载文件的文件名。curl
我想要的(似乎是不可能的)是这样的:
newfilename=$(wget --content-disposition --trust-server-names --timestamping "${myurl}")
xattr -w user.download.url "${myurl}" "${newfilename}"
chmod 0400 "${newfilename}"
setfacl -m u:lisa:r "${newfilename}"
或者使用 curl:
newfilename=$(curl --continue-at - --compressed --remote-name-all --remote-header-name --remote-time "${myurl}")
xattr -w user.download.url "${myurl}" "${newfilename}"
现在出于某种原因,我猜是出于安全考虑,两个命令似乎都不愿意返回服务器提供的文件名(以防它可能包含远程代码注入)?但是,当同一个命令完全愿意使用该远程文件名字符串在磁盘上创建文件时,这对我来说毫无意义?
有没有办法做到这一点,如果有必要,通过一些解决方法,通过inotify
监视检查目标目录中是否创建了文件?