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

Я новичок в сценариях Unix и shell, я могу запустить код из терминала, но ту же команду, выдающую ошибку при запуске в сценарии оболочки.

#!/bin/bash diff <((sort doc1) <(sort doc2)) | grep -x '.\{6\}' >sample.txt 

Я получаю эту ошибку при запуске оболочки:

 /App$ sh filediff.sh filediff.sh: 4: filediff.sh: Syntax error: "(" unexpected 

  • Переменная Bash $ {0 ## * /}
  • как получить строку между фигурными скобками вместе со строкой без фигурных скобок, используя awk
  • C Shell отменил файл
  • Я хочу отслеживать файлы, которые обрабатываются в последний час
  • Выполнить список команд с контрольной точкой?
  • Значение «exec env COMMAND»
  • Сценарий оболочки для отображения первой или последней n строк файла
  • Скрипт для входа на несколько серверов и выполнения команд и добавления вывода в один файл
  • 2 Solutions collect form web for “Я могу запустить код из терминала, но ту же команду, выдающую ошибку при запуске в сценарии оболочки”

    Когда вы запускаете команду diff в обычной оболочке, вы используете текущую оболочку (в основном bash).

    Вы отступали, чтобы использовать оболочку bash для своего скрипта, но если вы вызываете свой скрипт с помощью «sh filediff.sh», вы вызываете sh-Shell, который немного отличается от bash.

    Вы можете вызвать свой скрипт с помощью

     bash filediff.sh 

    или вы выполняете его с помощью

     chmod +x filediff.sh 

    и назовите его

     ./filediff.sh 

    Команда diff работает для анализа двух файлов и печатает строки, которые отличаются друг от друга. Вы не предоставляете правильные входные файлы для команды diff:

    Простой модифицированный рабочий скрипт:

     sort doc1 | tee tempdoc1 sort doc2 | tee tempdoc2 diff tempdoc1 tempdoc2 | grep -x '.\{6\}' > sample.txt echo "Following is difference:" cat sample.txt 
    Interesting Posts

    Измерение качества интернет-соединения

    Как «резервное копирование» файлов и папок в / home / при добавлении, удалении и реорганизации файлов / папок в / home /?

    Лучший способ сжать папку с небольшими предварительно сжатыми файлами (изображениями)?

    Интерпретации интерпретации команд в кавычках как разделители аргументов

    Вызов нескольких сценариев bash и их параллельное выполнение, а не последовательность

    Используйте только ключевое слово Match для одиночного хоста в конфигурации ssh

    Могу ли я использовать 2 WAN на DD-WRT?

    В чем разница между запуском программы в качестве демона и разворачиванием ее в фоновом режиме с помощью «&»?

    Как настроить bluez / kernel для периферийной клавиатуры Bluetooth

    Не удалось выполнить winscp png-файлы

    Как я могу изменить домашний каталог сервера sftp на MAC OS X?

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

    Синтаксическая ошибка tcpdump при указании portrange как документально

    Почему мой chmod работает не так, как ожидалось?

    Archlinux собственно PKGBUILD: исполняемая ошибка Python

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