Это ниже - точка входа в скрипт с несколькими входами.
#!/bin/bash
[ $# -ge 1 -a -f "$1" ] && input="$1" || input="-"
# your script's payload here
The #!
строка, надеюсь, понятна
во второй строке
$# -ge 1
проверяет наличие хотя бы одного аргумента командной строки
-a
- булев оператор
-. f "$1"
проверяет, является ли первый аргумент файлом
&&
следует директива, которая будет выполнена, если предыдущее условие истинно
||
следует, что произойдет, если условие проверки не истинно
nc -k -l 127.0.0.1 4444 > filename.out
my_processing_script filename.out
-or-
nc -k -l 127.0.0.1 4444 | my_processing_script
итак, если у меня есть аргумент и это файл, то моим входом будет этот файл, если нет, то мой вход идет из трубы, т.е. т.е. "-"
тогда вы можете запускать свою штуку как хотите. Либо
я тестировал с полезной нагрузкой
awk '{print $2}' ${input}
и мой вход шел от команды netstat -rn
и работал в любом случае. Надеюсь, это то, о чем вы спрашиваете
Как говорит @thrig, я пытался dtruss
отладить проблему,
sudo dtruss sqlcmd -S someserver
И из вывода sqlcmd пытается прочитать /usr/local/ lib/libodbcinst.2.dylib
и не удалось.
Добавлена символическая ссылка libodbcinst.2.dylib
решил проблему, так что на самом деле это вызвано отсутствием зависимости, вздох
Это происходит не на всех наших машинах, но сегодня мы столкнулись с этим. Мы запустили
brew install msodbcsql
Мы обнаружили
libmsodbcsql13.dylib not found
Мы запустили
brew link msodbcsql
В результате:
Создано 4 символические ссылки
Это исправлено вопрос для нас.
Я столкнулся с той же проблемой, и трассировка dtruss
дала тот же результат, что и daisy.
Отсутствующая библиотека находится в драйверах unixodbc. Вы можете установить их с brew install unixodbc
, если у вас их нет. Команда ссылки и пути, необходимые для связи в моей системе, были следующими:
ln /usr/local/Cellar/unixodbc/2.3.6/lib/libodbcinst.2.dylib
/usr/local/lib/libodbcinst.2.dylib
Очевидно, у вас может быть другая версия, но она должна быть расположена ниже пути/usr/local/Cellar/unixodbc
После добавления этой ссылки я могу подключаться к своим локальным и удаленным SQL-серверам с терминала. У меня macOS High Sierra 10.13.5.
Решение :Для 13 версии нужен открытый ssl v 1.0.0, можете попробовать.
установка варкиhttps://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb