Значки управления громкостью и сетевых уведомлений невидимы и взаимоисключают после обновления до Mint 19

Проверьте столбцы с помощью awk и выйдите с некоторым номером, если они соответствуют критериям. Затем проверьте код выхода с помощью $? и выполните свои команды.

awk -F ',' '$2>1{exit 42}' file
[[ "$?" -eq 42 ]] && echo yes || echo no
0
24.07.2018, 11:53
2 ответа

С оболочкой bashвы можете сделать что-то вроде:

elapse() (
  SECONDS=0
  while read -t1; (($? > 128)); do
    TZ=UTC0 printf >&2 '\rtime elapse %(%T)T' "$SECONDS"
  done
  echo >&2
)

{ long-running-command 4>&1 >&3 3>&- | elapse; } 3>&1
1
28.01.2020, 02:31

Я бы написал функцию секундомера, подобную той, которую я опубликовал здесь , и вызвал бы ее, сообщая ей, что нужно следить за идентификатором процесса команды, которую вы выполняете (обратите внимание, что это предполагает GNUdate):

#!/bin/bash

stopwatch(){
    date1=`date +%s`; 
    while kill -0 $1 2>/dev/null; do 
        printf "Elapsed time: %s\r" "$(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S)";
        sleep 0.1
    done
}

find /path/to/dir > output 2> error  &
stopwatch $!

Обратите внимание, что этот подход означает, что если вы завершите сценарий с помощью Ctrl + C , процесс findпродолжит работу в фоновом режиме. Решение Стефана лучше.

1
28.01.2020, 02:31

Теги

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