2011-10-27 52 views
0

我試圖做KSH以下,但不斷得到了cp命令不能STAT消息:ksh不能從空間位置cp嗎?

JMX_ROOT=/bfs-build/build-info/mep_mainline-Linux.latest/core/mainline/automation 

SMOKE_JMX_LOCATION=$JMX_ROOT/"Smoke Set"/*.* 

cp $SMOKE_JMX_LOCATION /var/tmp/tempor 

任何想法,試圖把各地的各種變量,但沒有運氣的報價。想想它與「煙霧」中的空間有什麼關係,但不知道如何操作它。

非常感謝。

+0

上也存在[UNIX和Linux]逃逸的空間(http://unix.stackexchange.com/q/23392/4667) –

回答

3
JMX_ROOT=/bfs-build/build-info/mep_mainline-Linux.latest/core/mainline/automation 
SMOKE_JMX_LOCATION="$(echo $JMX_ROOT/"Smoke Set"/*.*)" 
cp "$SMOKE_JMX_LOCATION" /var/tmp/tempor 
+0

另外,'*。*'可能應該更改爲'*'。這不是DOS。 – ninjalj

0
JMX_ROOT=/bfs-build/build-info/mep_mainline-Linux.latest/core/mainline/automation 

    SMOKE_JMX_LOCATION=$JMX_ROOT/"Smoke\ Set"/*.* 

    cp $SMOKE_JMX_LOCATION /var/tmp/tempor 

這是否解決您的問題?在空格前添加\

+0

試過,但得到: cp:can not stat'/bfs-build/build-info/mep_mainline-Linux.latest/core/mainline/automation/Smoke \\':沒有這樣的文件或目錄 cp:can stat'Set /*.*':No這樣的文件或目錄 – Rory

+0

使用克里斯的迴應。這應該工作 – sdolgy

+0

Nope也沒有工作,必須將其更改爲以下內容:SMOKE_JMX_LOCATION = $ JMX_ROOT/Smoke */*。* I.e.用通配符替換空格 – Rory

0

嘗試用一個反斜槓

SMOKE_JMX_LOCATION=$JMX_ROOT/Smoke\ Set/*.*