¿Cómo puedo get el número de versión de la cabeza SVN en shell y este shell se ejecuta continuamente utilizando el crontab

cat sample.pl

$svn_rev = `svn info -r HEAD | grep Revision: | cut -c11- `; $rev = `svn info | grep Revision | cut -d' ' -f2` ; print "SVN Rev of the HEAD:$svn_rev\n"; print "SVN Rev of the Working:$rev\n"; 

cat sample.sh

 perl sample.pl 

ahora ejecutando el script como:

 ./sample SVN Rev of the HEAD:600 SVN Rev of the Working:590 

Pero siempre que se ejecuta continuamente usando crontab:

 * * * * * root /home/sample.sh > /home/sampleout.txt 

pero aquí cat sampleout.txt

 SVN Rev of the HEAD: SVN Rev of the Working:590 

El número de revisión HEAD muestra el norte. Por favor, dime cuál es el error de arriba y cualquier ayuda sería apreciada.

El problema está en tu command de corte. Cambia el corte -c11- al command de corte que has usado en la segunda línea (por $ rev)

¡Esto debería solucionar tu problema!

Puede ser solo un error tipográfico en la publicación, pero el script que muestra se llama sample.sh, pero en el trabajo cron es sample1.sh, ¿hay alguna diferencia entre estos?

¿El command "raíz" es necesario?, Lo mejor es hacerlo funcionar como su propio usuario primero y get su perfil en el command para asegurarse de que el entorno sea el mismo que cuando se ejecuta desde la línea de command:

 * * * * * . ~/.profile;/home/sample.sh > /home/sampleout.txt