REGEX não está funcionando no script Upstart

2

Para o Upstart Script, o regex sempre me dá false, mas funciona assim que eu executo o script manualmente.

/etc/init/sync_remote_users.conf:

start on filesystem and net-device-up IFACE!=lo
stop on runlevel [016]
respawn
##?
respawn limit 20 5
##?

script
    exec opt/local/our-sync-pkg-2.0/sync_users start
end script

Aqui está o código sync_users:

#!/bin/bash

for line in $(cat $DECRYPTED_PASSWORDS_FILE)
do
    if [[ !($line =~ ^[^-_][0-9a-zA-Z._-@]+\:[0-9a-zA-Z.\/$]{98}+$) ]]; then
        result=false;
   fi
done
    
por Fatima Zohra 05.10.2015 / 07:23

1 resposta

0

O código estava funcionando bem, o problema era que o script inicial não executava scripts BASH por padrão, e menos que fosse um script bash. Então eu mudo o meu script upstart para isso:

start on filesystem and net-device-up IFACE!=lo
stop on runlevel [016]

script
    exec bash -c '/opt/local/our-sync-pkg-2.0/sync_users start'
end script
    
por Fatima Zohra 09.10.2015 / 07:27