ctrl-d ответ правильный.
Похоже, вы не поняли, что такое команда ps
для . В нем перечислены процессы в вашей системе.
Когда вы запускаете команду ps
, этот запущенный экземпляр сам является процессом.
Когда вы запускаете команду wc
, это тоже процесс.
Если вы вставите несколько команд cat
в конвейер, каждая из них также будет процессом, и каждая заставит ps
вывести еще одну строку информации:
[vagrant@localhost ~]$ ps | wc -l
4
[vagrant@localhost ~]$ ps | cat | wc -l
5
[vagrant@localhost ~]$ ps | cat | cat | wc -l
6
[vagrant@localhost ~]$ ps | wc -l
4
[vagrant@localhost ~]$ ps
PID TTY TIME CMD
22912 pts/0 00:00:00 bash
29651 pts/0 00:00:00 ps
[vagrant@localhost ~]$
Факт что эхо "тест" | wc -l
отображает "1" не имеет значения.
Я не знаю, что вы подразумеваете под "проверкой", но вы можете сгенерировать сегодняшнее ожидаемое имя файла с помощью
filename="$(date +%Y-%M-%d)-PDK-AP-BBBBB-01-session.log"
, а затем использовать "$filename"
в своем сценарии. . Это то, что вам нужно?