find
Dada la estructura de directorios fija, puede usar comodines para los directorios:
rename -n s/.png/_old.png/ */*/*.png
(cambie -n
a -v
para ejecutar realmente el comando ).
Si los PNG están en diferentes niveles de directorio, aún puede evitarfind
:
shopt -s globstar
rename -n s/.png/_old.png/ **/*.png
(con globstar
establecido, **
coincide con cualquier número de niveles de directorio)
En Debian y derivados, prename
se llama rename
, pero es el mismo comando.
На мой взгляд, никогда не следует полностью отключать пользователя root. Если вы не хотите иметь возможность входить в систему как root с помощью ssh
, вам следует установить директиву PermitRootLogin no
в / etc / ssh / sshd_config
.
Для других приложений в большинстве случаев можно выполнить аналогичные настройки.
Действительно ли / temp
существует (разве вы не имели в виду / tmp
)?
Если это не работает, тогда ваш сценарий пытается выполнить cd
в / temp
, терпит неудачу, а затем все команды выполняются в начальном каталоге.
Последние две команды особенно опасны, потому что вы cd
на /
, затем cd
на / temp
(которые могут не существовать ), а затем rm
все (что вполне может быть корневой файловой системой).
Вы должны указать полные пути для команд rm
.
Я не знаю, почему возникает результат, который вы видите, но этот сценарий достаточно опасен, поэтому я бы начал с его исправления и посмотрел, решит ли это проблему.