#shell #unix #scripting #ksh
#оболочка #unix — система #сценарии #кш
Вопрос:
Я пытаюсь сделать следующее в 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. также существует в unix и Linux
Ответ №1:
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
Комментарии:
1. Кроме
*.*
того, вероятно, следует изменить на*
. Это не DOS.
Ответ №2:
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: не удается
/bfs-build/build-info/mep_mainline-Linux.latest/core/mainline/automation/Smoke\': No such file or directory cp: cannot stat
установить статистику /*.*’: нет такого файла или каталога2. Нет, тоже не сработало, пришлось изменить его на следующее: SMOKE_JMX_LOCATION=$JMX_ROOT/Smoke */*.* Т.е. заменил пробел на подстановочный знак
Ответ №3:
попробуйте убрать пробел с помощью обратной косой черты
SMOKE_JMX_LOCATION=$JMX_ROOT/Smoke Set/*.*