Unzip отказывается принимать ввод через xargs

Вы можете использовать -sили --service=, чтобы указать серверную часть базы данных.

Get entries from administrative database.

  -i, --no-idn               disable IDN encoding
  -s, --service=CONFIG       Service configuration to be used
  -?, --help                 Give this help list
      --usage                Give a short usage message
  -V, --version              Print program version

Проверьте, находится ли пользователь в ldap или файловом бэкэнде, выполнив

getent -s ldap passwd username

getent -s files passwd username

1
06.04.2021, 10:46
1 ответ

Проблема в том, что xargsне расширяется ~; оболочка делает это, когда вы запускаете команду из командной строки -, но это не помогает с вашим каналом. Таким образом, unzipищет файл с именем точно ~/Downloads/satori-export-2517846752133086875-68d79887-0c61-43eb-a4ea-750a934a6121.zipили один из вариантов, показанных в сообщении об ошибке, и, поскольку в текущем каталоге нет каталога с именем ~, не говоря уже о каталоге, содержащем Downloads/satori-export-2517846752133086875-68d79887-0c61-43eb-a4ea-750a934a6121.zip, он терпит неудачу..

Это должно работать:

find ~/Downloads -maxdepth 1 -name "*satori-export*" -exec unzip {} \;

Это найдет все файлы в ~/Downloads, чье имя содержит satori-export, и запустит unzipдля них по одному (, что важно здесь, потому что unzipпринимает только первое имя файла в своем arguments как имя архива для обработки; остальные интерпретируются как имена файлов, которые нужно искать в архиве ).

4
28.04.2021, 22:54

Теги

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