rm не удаляет файлы, хотя путь правильный - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть сценарий bash в моей папке Tomcat bin. Когда я запускаю скрипт, он должен удалять логи. По какой-то причине, когда я запускаю команду через скрипт, он говорит, что файлы не существуют. Если я запускаю ту же команду вручную, она работает просто отлично.

TOMCAT=${PWD%/*}
rm $TOMCAT/logs/*

когда я запускаю скрипт, я получаю это: rm: не может удалить '/ home / cwall / Desktop / osp / tomcat / logs / *': нет такого файла или каталога

, но когда я запускаю это: cwall:~/Desktop/osp/tomcat/bin> rm /home/cwall/Desktop/osp/tomcat/logs/*

это работает, и я не могу понять, почему.

(так же, как примечание, скрипт делает намного больше, чем это. Это единственный соответствующий код.)

(правка) Я нашел решение этой проблемы. Я не смог бы дать достаточный ответ без объяснения всего моего сценария. Этот вопрос, вероятно, следует снять, но я оставлю его пока.

1 Ответ

1 голос
/ 07 февраля 2020

Если я предполагаю, что ваш рабочий каталог /osp/, попробуйте

TOMCAT=$PWD rm $TOMCAT/logs/*

...