我正在尝试执行以下操作,ksh
但不断收到cannot stat
该命令的消息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
有什么想法吗?我尝试过在各种变量周围加上引号,但没有成功。
答案1
cp "$SMOKE_JMX_LOCATION" /var/tmp/tempor
#--^-------------------^
编辑:我并没有真正注意到通配符。是的,引用它们会阻止扩展。您是否需要将它们放入变量中?这肯定会起作用:
cp $JMX_ROOT/"Smoke Set"/*.* /var/tmp/tempor
答案2
SMOKE_JMX_LOCATION="$(echo $JMX_ROOT/"Smoke Set"/*.*)"
cp "$SMOKE_JMX_LOCATION" /var/tmp/tempor
答案3
您可以使用备用字段分隔符来解决目录名称中的空格问题。
JMX_ROOT=/bfs-build/build-info/mep_mainline-Linux.latest/core/mainline/automation
OLD_IFS="$IFS"
IFS=$'\n'
SMOKE_JMX_LOCATION="${JMX_ROOT}/Smoke Set"
cp ${SMOKE_JMX_LOCATION}/*.* /var/tmp/tempor
IFS=$OLD_IFS