grep отлично работает в командной строке, но ничего не возвращает в скрипте

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

#!/bin/sh cd /var/www_data/patch/ grep --include=\*.{php,ini,conf,sh} -ril -P "'([\d\w\-\_\.]+)(@domain.com)'" "/var/www_data/something/" 2>&1 > mails 

Линия grep отлично работает в командной строке, но если я запустил ее через скрипт, итоговый файл будет иметь размер 0 байт. Есть идеи, почему это происходит?

  • Может ли команда «at» выполнить любой скрипт оболочки?
  • извлеките файл из jar-файла и получите diff
  • Я получаю ошибку «команда не найдена», хотя файл сценария отображается как «ls»,
  • Выполнить ./script.sh vs bash script.sh - отклонено разрешение
  • Получить имя устройства подключенного USB-диска
  • Выполнить сложную команду из сценария bash
  • Создайте несколько имен пользователей и UID в Linux с помощью сценария оболочки
  • извлечение доменных имен (имен хостов) из текстового файла
  • 2 Solutions collect form web for “grep отлично работает в командной строке, но ничего не возвращает в скрипте”

    Нашел свою ошибку. Предполагалось, что это будет #!/bin/bash . Благодаря @steeldriver для наконечника

    Чтобы включить расширение оболочки внутри скрипта, вам нужно передать параметр командной строки в bash, это можно сделать в самом скрипте:

     #! /bin/bash set -B #enables expansion set -X #enables debugging 

    При первом варианте все будет передано оболочке, как если бы оно было написано в командной строке, второй вариант будет генерировать много результатов, что очень полезно, чтобы увидеть, что происходит, но вы, конечно же, хотите отключить его, как только ваш скрипт работает правильно ,

    Interesting Posts

    Как выбрать имя каталога во время распаковки

    Возьмите текст «снимок экрана» текущего содержимого терминала

    31 компакт-диски Debian – Почему? и что мне нужно для установки на настольном компьютере?

    Библиотека заявок Yum установлена, но это не

    Как настроить Linux для того, чтобы не требовать sudo для определенных команд для определенных пользователей?

    Что мне делать с профилями btrfs?

    Как Linux различает реальные и неиспользуемые (например: устройства) файлы?

    Объясните команду оболочки: shift $ (($ optind – 1))

    Как killproc знает, что PID убить?

    Разница между поведением setrlimit и лимитного стека

    Статус выхода ($?) Из 148 при Ctrl + Z

    Как получить список длинных процессов, соответствующих определенному шаблону?

    Получение фоновых заданий путем записи в файл

    Привязать ключ к сценарию bash

    Подключите все подключенные диски к их соответствующим точкам подключения

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