Как удалить файлы с помощью SSH в определенном каталоге

В вашем коде есть синтаксические проблемы. В тесте:

после [и перед ]должен быть пробел.
read -p "What is your name?:" ANSWER

if [ "$ANSWER" == "root" ]; then
    echo 'Hello, administrator'
else
    printf 'Hello, %s\n' "$ANSWER"
fi

Кроме того, вы можете использовать утилиту idдля получения UID пользователя. Пользователь root всегда имеет нулевой UID :

.
if [ "$(id -u)" -eq 0 ]; then
    echo 'Hello, administrator'
else
    printf 'Hello, %s\n' "$(id -u -n)"
fi

id -uвернет UID текущего пользователя в виде положительного целого числа, а id -u -nвернет имя пользователя. Вы также можете использовать $USERили $LOGNAMEдля печати имени пользователя, но для сравнения безопаснее использовать номер UID ().

Оболочка bashтакже хранит UID текущего пользователя в $UID, поэтому в bashвы можете написать

if [ "$UID" -eq 0 ]; then
    echo 'Hello, administrator'
else
    printf 'Hello, %s\n' "$USER"
fi
0
22.03.2021, 12:41
1 ответ

Просто вы можете просто использовать ssh, а затем (сначала убедиться, что вы находитесь в правильном каталоге, или указать ПОЛНЫЙ ПУТЬ к каталогу! ):rm wp-content/uploads/2019/01/*.jpg.webp

Но если файлов много, все может усложниться. Файл *.jpg.webpрасширяется в длинный список имен в bash, и он отказывается правильно передать команду rm.

В качестве запасного варианта вы можете использовать команду findдля поиска и выполнения команды для искомых файлов.

find wp-content/uploads/2019/01/ -name '*.jpg.webp' -maxdepth 1 -exec rm {} +

Это переводится в следующие части:

  • find wp-content/uploads/2019/01/просмотреть содержимое каталога.
  • -name '*.jpg.webp'поиск файлов с именами, оканчивающимися на .jpg.webp.
  • -maxdepth 1говорит, что find должен углубляться только на 1 уровень (, который является текущим каталогом, который он использует ). ВАЖНО :это работает, только если удаленная машина использует Linux или иным образом имеет GNU find.
  • -exec rm {} +означает выполнение rmдля каждого найденного файла; +группирует файлы в пакеты, чтобы выполнять меньше команд.
1
28.04.2021, 22:58

Теги

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