Подсказка при копировании нескольких файлов?

Я сам ввязался в эту проблему и решил сделать несколько тестов. Я полностью согласен с ответом, что каждый дистрибутив должен упаковываться отдельно, но иногда возникают практические проблемы, которые этому мешают (не в последнюю очередь, кадровые).

Итак, для тех, кто хочет "автоопределить", вот что я обнаружил на ограниченном наборе дистрибутивов (подробнее ниже):

  • Вы можете сказать, начиная с:

    .
    [[ `/sbin/init --version` =~ upstart ]] && echo yes || echo no
    
  • Вы можете сообщить Системе из:

    .
    [[ `systemctl` =~ -\.mount ]] && echo yes || echo no
    
  • Вы можете сказать sys-v init из:

    [[ -f /etc/init.d/cron && ! -h /etc/init.d/cron ]] && echo yes
    

Вот мои эксперименты со следующей командной строкой:

if [[ `/sbin/init --version` =~ upstart ]]; then echo using upstart;
elif [[ `systemctl` =~ -\.mount ]]; then echo using systemd;
elif [[ -f /etc/init.d/cron && ! -h /etc/init.d/cron ]]; then echo using sysv-init;
else echo cannot tell; fi

на ec2 экземплярах (я включаю в себя наш восточный AMI id):

  • ArchLinux: с использованием systemd (начиная с 2012.10.06)
  • CentOS6. 4 ami-52009e3b: используя upstart
  • CentOS7 ami-96a818fe: используя systemd
  • Debian 6 ami-80e915e9: используя sysv-init
  • Debian 7.5 ami-2c886c44: используя sysv-init
  • Debian 7.6 GCE container-vm: используя sysv-init
  • RHEL 6. 5 ami-8d756fe4: при использовании upstart
  • SLES 11 ami-e8084981: при использовании sysv-init
  • Ubuntu 10.04 ami-6b350a02: при использовании upstart
  • Ubuntu 12.04 ami-b08b6cd8: при использовании upstart
  • Ubuntu 14.04 ami-a427efcc: при использовании upstart
  • Ubuntu 14. 10 и младше: используя systemd
  • AWS linux 2014.3.2 ami-7c807d14: используя upstart
  • Fedora 19 ami-f525389c: используя systemd
  • Fedora 20 ami-21362b48: используя systemd

Просто для ясности: Я не утверждаю, что это глупо! , почти наверняка нет. Также обратите внимание, что для удобства я использую bash regexp спички, которые не везде доступны. Вышеуказанное достаточно хорошо для меня прямо сейчас. Однако, если вы найдете дистрибутив, где он не работает, пожалуйста, дайте мне знать, и я постараюсь исправить это, если есть EC2 AMI, который воспроизводит проблему....

0
21.03.2014, 01:36
2 ответа

Я подозреваю, что вы помните опцию -ok в find.  Попробуйте что-нибудь вроде

find . -name pattern -ok cp {} other_directory \;
4
28.01.2020, 02:20

Используйте переключатель -i (интерактивный). Он работает для cp/mv/rm/...

0
28.01.2020, 02:20

Теги

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