我试图使用Torrent-Video-Player脚本,但它不适用于包含空格的文件。这是一个鹦鹉螺脚本。带空格的Bash脚本参数
#!/bin/bash
xterm -e "peerflix "$1" --vlc"
“test.torrent” - >确定
“测试test.torrent” - >无法execvp peerflix测试:没有这样的文件或目录中找到
我试图使用Torrent-Video-Player脚本,但它不适用于包含空格的文件。这是一个鹦鹉螺脚本。带空格的Bash脚本参数
#!/bin/bash
xterm -e "peerflix "$1" --vlc"
“test.torrent” - >确定
“测试test.torrent” - >无法execvp peerflix测试:没有这样的文件或目录中找到
更改线路
xterm -e "peerflix "$1" --vlc"
到
xterm -e "peerflix '$1' --vlc"
或
xterm -e "peerflix \"$1\" --vlc"
第一种形式是等价于:
xterm -e "peerflix " $1 " --vlc"
这不是你期待什么。
Thx这些解释!这是现在的作品! – melkir
@melkir很高兴听到它,欢迎您。 –
很遗憾,这是不正确的。 ''-e''接受多个参数(所以它也可以作为参数传递它们)。你的解决方案可能会破坏,如果你有其他特殊字符(如引号) 你想要的是''xterm -e'peerflix'“$ 1”'--vlc'''或者你可以省略单引号''xterm -e peerflix “$ 1”--vlc''。但是,它不能解决带有斜杠的文件问题。这应该会更好(如果peerflix支持它,但我不知道)。 '''xterm -e peerflix --vlc - “$ 1”'' –
为什么你有嵌套报价? – anubhava