проверка достоверности всех файлов в папке в зависимости от shebang

У меня есть проект с некоторыми lua и некоторыми файлами bash. Я хочу перебрать все файлы, и в зависимости от shebang я хочу выполнить проверку действительности.

  • запустить скрипт perl с неизвестным местоположением perl
  • Почему я могу передать аргументы в / usr / bin / env в этом случае?
  • Лучше ли использовать строку shebang для выполнения сценария?
  • Разрешение запрета Bash Разрешено и плохой переводчик
  • `sudo -u user` в строке shebang
  • Почему следующий скрипт удаляет себя?
  • может ли что-то помимо shebang установить переводчика?
  • Почему «she-bang» начинается с «#!»?
  • One Solution collect form web for “проверка достоверности всех файлов в папке в зависимости от shebang”

    Вы можете использовать find и awk для проверки первой строки (ваш awk должен поддерживать FNR, например, POSIX awks) и добавлять некоторые шаблоны поиска (например, исключая скрытые папки):

     echo "check bash files ..." find . -not -path '*/\.*' \ -type f -exec awk 'FNR == 1 && /^#!.*sh/{print FILENAME}' {} + | \ while IFS= read -rf; do echo "checking $f ..." bash -n "$f" done 

    Примечание: используйте IFS= чтобы избежать разделения имен файлов, содержащих один из $IFS , например: 'a b'

    Interesting Posts

    Подробная информация о open socket на Solaris

    BOOTPROTO = none | статические | dhcp и /etc/resolv.conf

    Почему я получаю «ошибку соответствия», когда я пытаюсь преобразовать воду в единицы GNU?

    Python теперь считает, что аргументы являются файлами: Broken emerge, pip, livestreamer и большинство инструментов с использованием Python

    Как установить последний NodeJS на Debian Jessie?

    таинственный скрипт awk соединяет строки

    Echo / Печать текста в цвете данного шестнадцатеричного кода (независимо от Xresources / Xdefaults)

    Проблема беспроводной мыши Logitech

    Как я начинаю начинать с tmux?

    Linux Vs UNIX – ядро ​​- как понять разницу?

    Как найти версию Java в установленной папке Java?

    Создайте задания cron, чтобы повторять каждые X единиц времени, начиная с судовой единицы

    Извлечь определенную подстроку из имени файла

    Отсутствует символ ошибки компиляции – скрипт unix shell

    Окно просмотра Tmux, вызванное несколькими параллельными сеансами

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