Не может повторить или создать символьную ссылку на файл со специальными символами на его имя в сценарии удара

только для файлов в каталоге, игнорируя подкаталоги:

expr $(du -Ss | cut -f1) / $(find /path/to/dir -maxdepth 1 -type f | wc -l)

Или считать все файлы включая файлы в подкаталогах:

expr $(du -s | cut -f1) / $(find /path/to/dir -type f | wc -l)
2
26.11.2013, 01:16
1 ответ

Использовать $() вместо обратных галочек:

FILE1=$(find /mydir/ -name "\.\$abc\$*namehere*.zip*" | sort -rn | head -1)
ln -s "$FILE1" .
echo "$FILE1"

Проблема состоит в том, что, так как Вы включаете имя своего файла в двойные кавычки, удар разворачивает его так это

\.\$abc\$*namehere*.zip*

расширен до

\.namehere*.zip*

Это - одна из многих причин, почему обратные галочки удерживаются от использования и $() должен всегда предпочитаться.

6
27.01.2020, 21:54
  • 1
    <пред> ben@crystal:~ эхо $ echo "\.\$abc\$*namehere*.zip*" \.namehere*.zip* ben@crystal:~ $ повторяют $ (эхо "\.\$abc\$ *namehere*.zip*") \. $abc$ *namehere*.zip* </пред> по тому, как Вы должны $file двойной кавычки на ln, на эхе это не имеет значения. –  hildred 25.11.2013, 08:55
  • 2
    @hildred да действительно, я просто копирую, вставил код OP и забыл заключать в кавычки var, спасибо. Я понятия не имею, что означает первая часть Вашего комментария все же. –  terdon♦ 26.11.2013, 01:34
  • 3
    Это съело пробел и одинарные левые кавычки, который мешает понимать. Для тестирования кода, я использовал эхо для печати результатов обратной галочки и $ () расширение двойной заключенной в кавычки строки, и задние галочки оставляют обратную косую черту перед точкой. –  hildred 26.11.2013, 02:28
  • 4
    bash не должен делать этой вещи. Я думаю, что это - любой ошибка в bash или преднамеренное отклонение от мобильности. Обратную косую черту нужно рассматривать буквально в замене команды backquoted - которым нужно съесть "quotes" поскольку Вы говорите - если не сопровождается $ ` '\', когда это становится кавычкой. Это - указанное поведение POSIX так или иначе: pubs.opengroup.org/onlinepubs/9699919799/utilities / … –  mikeserv 28.04.2014, 16:46

Теги

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