Как создать настольный вход в GNOME

Вы можете сделать это (я немного сократил его для удобства чтения):

{ awk 'BEGIN{...} END{...} END{if($1<100){exit(1)}}' file || exit; } > >(sendmail -t ...)
  • awk вызывается в составной команде .
    • if ($ 1 проверяет значение
    • exit (1) прерывает дальнейшее выполнение кода внутри awk и возвращает код выхода 1
  • || exit выполняется, когда команда awk возвращает false (код выхода больше 0). Затем оболочка закрывается, и команды больше не выполняются. Я не использую канал | здесь, потому что он откроет подоболочку, а затем эта подоболочка будет закрыта, а следующая команда все равно будет выполнена.
  • > (sendmail -t ...) вывод отправляется на sendmail (если еще не завершен).

Тогда вся команда будет выглядеть так:

{ awk 'BEGIN{print "Subject:SASL Spam\nFrom:Server.de \nTo:test@emailer.com"}
  END{printf("%s\015\n", $1" | "$2)} END{if($1<100){exit(1)}}' \
/home/web0/html/tools/uptime/sasl.txt || exit; } > >(/usr/lib/sendmail -t test@emailer.com)

0
11.09.2018, 12:06
1 ответ

Если вы посмотрите на скрипт ProM68.sh, то увидите, что он устанавливает путь к классу относительно текущего рабочего каталога, а не каталога, содержащего скрипт. Итак, если вы используете ./ProM68.sh, ваш текущий рабочий каталог совпадает с каталогом, содержащим скрипт, поэтому он работает, если вы запускаете его таким образом. Файлы рабочего стола обычно запускаются с домашним каталогом в качестве текущего рабочего каталога, если вы не укажете путь, например Path=/home/bengbers/Programs/Prom. (Также у вас есть пробелы после falseдля ключа Terminalв соответствии с desktop-file-validate, но это, вероятно, не вызывает никаких проблем.)

2
28.01.2020, 02:42

Теги

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