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

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

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'

  • строка shebang не работает с cr-lf
  • Почему #! / Usr / bin / env bash не работает в моей системе?
  • «Нет такого файла» с ksh, но скрипт работает с ksh -x?
  • Почему пытается запустить исполняемый файл python return: «Нет такого файла или каталога» после передачи его на сервер через FTP?
  • Запустить скрипт на экране
  • Вызов скрипта с sudo игнорирует shebang
  • Еще одна синтаксическая ошибка около неожиданного токена `('
  • Выберите интерпретатор после запуска скрипта, например if / else внутри hashbang
  • Содержимое файла / proc / <PID> / cmdline зависит от скрипта shebang?
  • Shell пытается интерпретировать Perl-скрипт, несмотря на правильный shebang
  • Рекомендуется ли использовать zsh вместо сценариев bash?
  • Shebang не устанавливает SHELL в cron
  • Interesting Posts

    Как увеличить серийный номер в зоне bind9 dns

    как найти файлы текущей даты на удаленном сервере и скопировать их на локальный сервер, используя rcp, используя shell scripting (ksh)?

    завершение bash в режиме Posix

    Linux копирует наполовину медленно, как окна

    Какое распределение все еще поддерживает ядро ​​2.6.x?

    Нужно ли перезагружаться после обновления ядра (через APT)?

    Как заставить yum устанавливать без запроса пользователя, используя bash?

    Как я могу вручную определить префикс grub?

    Невозможно использовать /dev/usbdevX.X как последовательный порт?

    Установление и настройка Arch Linux в VirtualBox будет таким же, как установка его на самом деле?

    Как перенумеровать разделы

    Необычно большой значок, созданный ImageMagick

    Не удается установить EncFS

    сделал «sudo go-wrx» on / … oops, broken

    Какой диспетчер дисплеев / оконный менеджер может поддерживать несколько мониторов с разным разрешением?

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