Programar um comando para executar minutos depois [fechado]

1

Eu tentei programar um comando para executar 2 minutos depois

at -c "ls -l" now + 2 minutes

Falha com várias formas

$ echo "open 'Google Chrome' " | at now + 2 minutes
job 15 at Mon Oct 29 13:31:42 2018

Como eu poderia ativá-lo?

run "open 'Google Chrome' "  at now + 2 minutes

Eu tentei, não está funcionando

$ at now 
at>ls -l
at>^D
at> <EOT>

job 18 at Mon Oct 29 15:55:00 2018
    
por JawSaw 29.10.2018 / 06:32

1 resposta

2

Você entendeu mal o que a opção -c faz. Essa opção imprime o conteúdo do arquivo temporário que é criado pelo comando at quando um novo trabalho at é criado.

Aqui está uma maneira de criar um trabalho simples de at :

$ at now + 2 minutes
at> ls -l
at> CTRL-D     <---- Press Control Key + D Key simultaniously
at> <EOT>
job 2 at Mon Oct 29 03:34:00 2018
$

E aqui está o conteúdo do arquivo temporário criado por at para o trabalho:

$ at -c 2
#!/bin/sh
# atrun uid=1000 gid=1000
# mail student 0
umask 2
XDG_VTNR=1; export XDG_VTNR
SSH_AGENT_PID=3010; export SSH_AGENT_PID
XDG_SESSION_ID=1; export XDG_SESSION_ID
.... lots more environment ....
cd /home/student || {
     echo 'Execution directory inaccessible' >&2
     exit 1
}
${SHELL:-/bin/sh} << 'marcinDELIMITER689a131f'
ls -l

marcinDELIMITER689a131f
$
    
por 29.10.2018 / 08:45

Tags