Поведение Asterisk при создании ссылок

Я пытаюсь создать символические ссылки для набора файлов.

Предположим, я хочу связать все файлы с расширением pdf из origin_directory в настоящий каталог.

До сих пор у меня есть эта команда:

 ln -nfs origin_directory/*.pdf -t . 

Это прекрасно работает. Проблема возникает, если у меня нет файла pdf в origin_directory , потому что в этом случае файл *.pdf создается в моем текущем каталоге и является неработающей ссылкой.

Есть ли способ избежать этого?

2 Solutions collect form web for “Поведение Asterisk при создании ссылок”

на bash это сработает

 if [ -e origin_directory/*.pdf ] ; then ln -nfs origin_directory/*.pdf . ; fi 

EDIT: Если у вас слишком много файлов

 if [ $(ls origin_directory/*.pdf | wc -l) -gt "0" ] ; then ln -nfs origin_directory/*.pdf . ; fi 

Если вы используете bash , сначала выполните

 shopt -s failglob 

Или лучше, положите в свой .bashrc

Теперь, когда вы это делаете:

 ln -nfs origin_directory/*.pdf -t . 

Это будет успешным или неудачным (с сообщением об ошибке и ничего не сделайте).


из руководства

failglob Если установлено, шаблоны, которые не соответствуют именам файлов во время расширения пути, приводят к ошибке расширения.

  • Symlink в тот же каталог
  • Найти использование дисковых папок с символическими ссылками
  • Как отключить файл, символически привязанный к себе, без разрушения
  • Установка USB-накопителя вместо жесткого диска
  • Как использовать ls, используя длинный формат (-l), в то же время следуя символическим ссылкам каталога?
  • root не может подключиться к symlinked socket другого пользователя
  • Может ли жесткая связь нарушить структуру файловой системы?
  • Почему режим cp --no-preserve = сохраняет режим? Доступны альтернативные инструменты?
  • Найти все файлы / файлы, на которых есть ссылки на них?
  • Связывание / proc / mnt в / proc / mounts
  • Использование символической ссылки в каталоге с содержимым
  • Interesting Posts

    Какие аппаратные компоненты не требуют драйвера и почему

    Как скопировать или прочитать возвращаемое значение (статус выхода) из AWK-скрипта в сценарий оболочки (bash), который будет использоваться в выражении if для сравнения

    FreeBSD и i915KMS приводят к черному экрану

    Git – удалить файл из двух ветвей

    Как динамически использовать переменную внутри цикла

    Предпочтение IP-псевдонимов

    OpenWrt: найдите соседей, зная их MAC-адрес

    Есть ли способ скрыть потоки ядра из результатов команды ps?

    Не удается запустить snmpd правильно

    Прочитайте строку со значением по умолчанию в zsh

    Сделать файлы Samba доступными

    извлечение определенной строки, поиск и замена или сохранение более длинной строки содержат извлеченное значение

    Связывание ключей Ci и TAB с различными командами в терминальных приложениях через .inputrc

    Является ли тире или какой-либо другой оболочке «быстрее», чем bash?

    Как создать туннель SSH через 2 сервера?

    Linux и Unix - лучшая ОС в мире.