Как избежать сообщения об ошибке во время выполнения сценария bash?

Мне нужно написать bash-скрипт, который найдет все файлы с именем string.h на компьютере и скопирует их в какую-то папку. Мой код здесь:

 #!/bin/bash sudo find / -type f -name "string.h" -exec cp {} $HOME/MyDocuments 

Но во время выполнения скрипта я получаю сообщения об ошибках на моем консольном терминале «разрешение отклонено». Пожалуйста, сказал мне, как я могу избежать этого сообщения? Консольный терминал должен быть прозрачным.

  • Использование awk для объединения двух файлов csv на три поля также создает новый файл csv
  • Как выполнить цикл через несколько подкаталогов для поиска файлов с помощью bash
  • Команда sed не возвращает то, что я хочу
  • Попытка добавить новую строку в команду вставки
  • Настройка переменных окружения для Gnome on Wayland только для сеанса
  • Как добавить пользователей не интерактивно?
  • Цикл через многомерный массив в bash 4
  • Рандомизировать или обрезать память приложения
  • One Solution collect form web for “Как избежать сообщения об ошибке во время выполнения сценария bash?”

    Ошибки «разрешено» запрещены, если ваша находка пытается путешествовать в каталогах, где у вашего пользователя нет разрешения на чтение или cp в вашей строке, попробуйте записать в каталог, к которому у вас нет доступа. Вы можете подавить их перенаправлением stderr

     #!/bin/bash sudo find / -type f -name "string.h" -exec cp {} $HOME/MyDocuments \; 2>/dev/null 

    Шаблон 2>/dev/null означает отправить все ошибки в «никуда» вместо стандартной ошибки.

    Но отправка сообщений об ошибках в /dev/null не решит ошибку, которую ваша команда не будет иметь права на чтение или запись.

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