Как передавать странные аргументы пути в команды [закрыто]

Как вы обнаружили, проблема возникает из-за пакета epel-release. Если вы еще этого не сделали:

# yum remove epel-release

Затем установите EPEL Repo со следующим (требуется пакет wget):

# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
# rpm -ivh epel-release-7-9.noarch.rpm

Оттуда вы сможете без проблем выполнить обновление yum.

1
07.03.2019, 06:38
2 ответа

Трудная часть состоит в том, чтобы определить этот странный путь. Как только вы правильно запомните его, вы сможете что-то с ним делать. Я буду использовать этот документ, чтобы получить его, и я определю его как some strange/p"at\nh'/, чтобы иметь возможность работать локально (нет /в начале):

$ p="$(cat<<EOF
some strange/p"at\nh'/
EOF
)"
$ echo "$p"
some strange/p"at\nh'/
$ mkdir -p -- "$p"
tomasz@tomasz-laptop-f:~/x$ stat -- "$p"
  File: some strange/p"at\nh'/
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: fe05h/65029d    Inode: 4983105     Links: 2
Access: (0755/drwxr-xr-x)  Uid: ( 1000/  tomasz)   Gid: ( 1000/  tomasz)
Access: 2019-03-06 08:50:05.116674683 +0100
Modify: 2019-03-06 08:50:05.116674683 +0100
Change: 2019-03-06 08:50:05.116674683 +0100
 Birth: -
1
27.01.2020, 23:30

Если у вас не слишком много файлов, вы можете попробовать развернуть **в цикле и передать его statи друзьям:

for item in **
do
    stat -- "$item"
    lsattr -- "$item"
done

В качестве альтернативы вы можете использовать find -print0. Это позволит вам захватить набор совпадений имен файлов и обработать их различными способами :

.
find. -type f -print0 |
    while read -d $'\0' item
    do
        stat -- "$item"
        lsattr -- "$item"
    done
1
27.01.2020, 23:30

Теги

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