Iniciar o script para iniciar scripts filhos repetidos?

1

Estou tentando fazer com que esse script de loop seja executado na inicialização. Se eu adicionar '#! / bin / bash ", posso iniciá-lo automaticamente a partir da inicialização do perfil, mas não consigo fazer com que as janelas filhas se comportem adequadamente. - O que estou perdendo?

num=0
while (($num <= 10)); do
    gnome-terminal -x sh -c "obs --startstreaming; exec bash" &
    timestamp=$( date)
    echo "Started OBS in new terminal window at $timestamp"
    sleep 4h
    pkill -n obs
    timestamp=$( date)
    echo "Killed OBS @ $timestamp"
    ((num++))
#
done

Obrigado!

    
por Norm 12.05.2016 / 20:18

1 resposta

0

O seguinte deve fazer o que quiser:

#!/bin/bash
num=0
while ((num <= 10))
do
    gnome-terminal -x sh -c "obs --startstreaming; exec bash" &
    timestamp=$(date)
    echo "Started OBS in new terminal window at $timestamp"
    sleep 4h
    pkill -n obs
    timestamp=$(date)
    echo "Killed OBS @ $timestamp"
    ((num++))
done

Aqui está a saída de shellcheck para o seu script:

In test.sh line 1:
num=0
^-- SC2148: Tips depend on target shell and yours is unknown. Add a shebang.


In test.sh line 2:
while (($num <= 10)); do
        ^-- SC2004: $/${} is unnecessary on arithmetic variables.
    
por Videonauth 12.05.2016 / 20:33