2014-04-21 158 views
0

我試圖使用Torrent-Video-Player腳本,但它不適用於包含空格的文件。這是一個鸚鵡螺腳本。帶空格的Bash腳本參數

#!/bin/bash 
xterm -e "peerflix "$1" --vlc" 

「test.torrent」 - >確定
「測試test.torrent」 - >無法execvp peerflix測試:沒有這樣的文件或目錄中找到

+0

爲什麼你有嵌套報價? – anubhava

回答

3

更改線路

xterm -e "peerflix "$1" --vlc" 

xterm -e "peerflix '$1' --vlc" 

xterm -e "peerflix \"$1\" --vlc" 

第一種形式是等價於:

xterm -e "peerflix " $1 " --vlc" 

這不是你期待什麼。

+0

Thx這些解釋!這是現在的作品! – melkir

+0

@melkir很高興聽到它,歡迎您。 –

+0

很遺憾,這是不正確的。 ''-e''接受多個參數(所以它也可以作爲參數傳遞它們)。你的解決方案可能會破壞,如果你有其他特殊字符(如引號) 你想要的是''xterm -e'peerflix'「$ 1」'--vlc'''或者你可以省略單引號''xterm -e peerflix 「$ 1」--vlc''。但是,它不能解決帶有斜槓的文件問題。這應該會更好(如果peerflix支持它,但我不知道)。 '''xterm -e peerflix --vlc - 「$ 1」'' –