Eu não entendo o que você quer. A maneira normal de criar um crontab é executar crontab -e
. Então, o usuário "terá que digitar o comando para executar e o script fará o resto". Tudo o que o usuário precisa fazer é definir a hora e o comando a ser executado. Como poderia ser mais simples?
É impossível ter cron
definir a hora automaticamente, como ela pode saber quando você deseja que o comando seja executado? Quer dizer que você quer criar um crontab que tenha um tempo padrão ?
Se assim for, você poderia fazer algo assim:
#!/usr/bin/env bash
time="0 5 * * 1" ## 5 a.m every week
read -p "Enter the command you wish cron to run:" comm
file='mktemp' && echo "$time $comm" > $file && crontab $file && rm $file
Você pode salvá-lo como, por exemplo, /usr/local/bin/make_crontab.sh
.
Como alternativa, se tudo que você deseja é não usar nano
, altere sua variável $EDITOR
. Pessoalmente eu uso emacs
, então eu tenho essa linha no meu .bashrc
:
export EDITOR='/usr/bin/emacs';