Если вам нужно, чтобы этого не произошло, используйте SOMEVAR = $ (cat / dev / stdin) для захвата stdin в bash и передачи его в ausearch или любую другую часть скрипта как $ SOMEVAR.
кто-нибудь объяснить, почему передача данных скрипта bash через STDIN приведет к тому, что команда внутри скрипта НЕ будет работать?
Автор сценария:
#!/bin/bash
ausearch -i -a 1221217
Если я запускаю следующее, он выводит результаты ausearch, как и ожидалось:
./au.sh
Однако, если я сделаю это:
echo "blah" | ./au.sh
Затем выводит:
<no matches>
Оба метода выполнения должны возвращать одинаковые результаты (поскольку ausearch жестко запрограммирован), но, похоже, stdin нарушает его.
яНЕ спрашивать о том, как читать данные стандартного ввода в скрипте bash.