Печать пути к каталогу без имени файла

systemd считает, что pid вашего демона — 8701, что является pid start-stop-daemon. PID вашего демона — 8705. Вам нужно установитьType=forking(под[Service])в вашем юнит-файле. Значение по умолчанию — Type=simple, что предполагает, что процесс не разветвляется.

Однако, почему вы используете это /bin/sh -ec exec /sbin/start-stop-daemonчудовище? systemd может обрабатывать все, что делает демон start -stop -.

-2
07.09.2020, 14:55
2 ответа

Если точно известно, что последний компонент действительно является именем файла, вы можете использовать awkдля этого:

awk -F'/' -v OFS='/' '{$NF=""}1' file.txt

Это будет использовать /в качестве разделителя полей для ввода и вывода и установить последнее поле (, то есть имя файла ), в пустую строку. 1за пределами блока правил указывает awkнапечатать строку, включая все модификации.

В качестве альтернативы используйтеsed:

sed -E 's|/[^/]+$|/|' file.txt

заменит шаблон «один /, за которым следуют любые символы, которые являются не косой чертой до конца строки» на /, тем самым эффективно удаляя последнюю часть пути, что является именем файла.

3
18.03.2021, 23:06
cat file | while read name; do
   dirname "$name"
done
0
18.03.2021, 23:06

Теги

Похожие вопросы