Para secuencias de comandos de tareas de propósito general yo sugeriría ir Bash todo el camino.
Bash es probablemente el shell más extendido y su script se podrá ejecutar en la mayoría de los sistemas * nix. Por el contrario, PHP no siempre estará disponible fácilmente. Por supuesto, si no tiene la intención de utilizar esos scripts en un sistema desconocido, estará bien con ambos.
Dicho esto, la mayoría de los comandos de shell estándar son más fáciles de escribir en bash que en php. En php abriría un subprocesos, ejecutaría comandos de shell a través de algunas funciones de envoltura o lo que no, mientras que en bash simplemente registraría su sesión de bash en un archivo y lo haría ejecutable. Tome la lista de un directorio, por ejemplo, en bash simplemente declare ls
y en php probablemente use scandir que no es tan divertido como suena. También me imagino que scandir tiene muchas menos opciones de clasificación. grep -Ri something .
alguien?
La mayoría de los lenguajes de uso general se pueden utilizar para scripts de shell, pero eso no significa que deban ser así, y al final del día todo se reduce a hacer el trabajo y una cuestión de preferencia subjetiva.
La única forma correcta es aquella que lo ayuda a lograr sus objetivos. Así que no importa si usas PHP, Bash, Python o lo que sea. Solo haz lo que mejor se adapte a ti. – Alrik
Me gustaría señalar la posibilidad de, en PHP, utilizar los datos históricos para ejecutar 'rm -rf oldTrashFolder'. Eso esencialmente niega toda esta opinión. Código en lo que sea que te sientas cómodo, imo. Además, tenga en cuenta si su script estará en un entorno en el que no desea que PHP esté instalado (o lo moverá para una ejecución rápida y no querrá instalar PHP simplemente porque eligió escribirlo en PHP). –