Невозможно переименовать подкаталог смонтированного флеш-накопителя

Ваш вопрос является вариацией FAQ Почему в systemd все работает иначе? .

Одним из преимуществ systemdявляется то, что он обеспечивает согласованную среду выполнения. Во избежание ошибок в плане безопасности и простоты набор переменных среды минимален.

В соответствующих документах поsystemdсреде выполнения подробно описано, что установлено.

Вы упомянули, что ваша конфигурация находилась в домашнем каталоге root. man mailxподтверждает, что он ищет в ~/.mailrc, в отличие от фиксированного пути /root/.mailrc.

В документах systemdпоясняется, что переменная $HOMEустанавливается только при использовании директивы User=. Вы не поделились своим служебным файлом systemd, но я полагаю, что, поскольку вы запускаете задачу от имени пользователя root, вы не использовали директиву User=. Так что это может объяснить часть вашей проблемы.

Также кажется, что путь, который вы хотите, не может быть установлен вашей $PATHпеременной окружения при запуске systemd. Вы можете подтвердить это, заменив строку ExecStart=в вашем сервисе на:

 ExecStart=/bin/echo "My path is $PATH"

Если путь mailxне указан, вы можете явно указать его с помощью директивы Environment=.

Если эти подробные советы не помогли решить вашу проблему, обязательно ознакомьтесь с ответами на часто задаваемые вопросы, ссылка на которые приведена выше, чтобы узнать о дополнительных возможностях.

0
19.02.2020, 14:11
2 ответа

Гипотеза :файловая система нечувствительна к регистру и поэтому Mechanicsи mechanicsотносятся к одному и тому же каталогу.

Возможно переименовать mechanicsв Mechanicsс помощью временного имени:

mv mechanics foo
mv foo Mechanics

Тогда каталог может отображаться как Mechanics, но вы все равно сможете ссылаться на него как mechanicsили даже mECHaniCS.

2
28.04.2021, 23:22

Ваш скрипт правильный, но у вас уже есть папка Mechanics в вашем текущем каталоге вместе с папкой mechanics , из-за которой вы получаете ошибку.

0
28.04.2021, 23:22

Теги

Похожие вопросы