다음을 수행하려고 하는데 이 명령에 대한 메시지가 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