ls /dev/sd$device* # or
ls "/dev/sd$device"*
No debe citar los metacaracteres globbing si desea que se realice globbing.
сценарий выполняет 'exec -it', 't' означает tty
zless "думает", что перед ним есть tty без дополнительной трубы ...
удаление 't' решил проблему (хотя теперь он действует как zcat, а не zless, но поскольку трубопровод работает, я могу просто передать его в less ...)
Я не вижу смысла в конвейере. zless
— это интерактивная программа, и вывод ls
должен просматриваться , а не анализироваться.
Вместо:
... sh -c 'zgrep PATTERN /logs/my-log.*'
или, если файлов слишком много,
... sh -c 'for pathname in /logs/my-log.*; do zgrep PATTERN "$pathname"; done'
или, более эффективно,
... sh -c 'find /logs/ -maxdepth 1 -type f -name "my-log.*" -exec zgrep PATTERN {} +'