$ type xclip
xclip is aliased to 'xclip -selection clipboard'
$ xclip -o
target filename with spaces
$ mv original_filename `xclip -o`
mv: target ‘spaces’ is not a directory
我试过先用
\_
(''uu'表示空间)替换空格,但它也不起作用。我哪里做错了?谢谢。 最佳答案
把我的评论变成一个答案。
backticks中的命令被扩展到执行该命令打印的任何内容(到STDOUT)。所以:
mv original_filename `xclip -o`
扩展到:
mv original_filename target filename with spaces
然后被处决。要将
xclip -o
的结果分组为单个参数,应在其周围加引号:mv original_filename "`xclip -o`"
因此,它扩展为:
mv original_filename "target filename with spaces"
注意backticks are deprecated应该使用
$()
来代替:mv original_filename "$(xclip -o)"
关于linux - 与xclip一起使用mv/cp时文件名包含空格的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29897087/